Twoje PC  
Zarejestruj się na Twoje PC
TwojePC.pl | PC | Komputery, nowe technologie, recenzje, testy
B O A R D
   » Board
 » Zadaj pytanie
 » Archiwum
 » Szukaj
 » Stylizacja

 
M E N U
  0
 » Nowości
0
 » Archiwum
0
 » Recenzje / Testy
0
 » Board
0
 » Rejestracja
0
0
 
Szukaj @ TwojePC
 

w Newsach i na Boardzie
 
OBECNI NA TPC
 
 » Promilus 08:23
 » kyusi 08:18
 » mo2 08:11
 » KHot 08:09
 » skalak23 08:06
 » Artaa 08:00
 » PeKa 07:40
 » Kenny 07:27
 » XepeR 06:40
 » resmedia 06:12
 » ngP 05:53
 » hokr 05:53
 » NimnuL 05:42
 » coolio 04:55
 » Martens 04:52
 » NWN 04:42

 Dzisiaj przeczytano
 36889 postów,
 wczoraj 25433

 Szybkie ładowanie
 jest:
włączone.

 
ccc
TwojePC.pl © 2001 - 2025
A R C H I W A L N A   W I A D O M O Ś Ć
    

[BAZY DANYCH] Jak zbudować zapytanie które dane z kilku kolumn wybierze w jedną kolumne? , john565 15/02/06 20:51
Mam następujące pytanie

załóżmy że jest sobie tabela TEST o polach ID, A, B, C i D

ID A B C D
1 6 7 8 0
2 9 4 2 1

i teraz chodzi mi o zbudowanie jakiegoś zapytania (kilku zapytań ?) bez kursorów i innych dziwactw, coś na kształt

SECLECT {to czego szukam} AS 'w' FROM TEST;

da wynik

w
6
7
8
0
9
4
2
1

f*ck

  1. hmm select union? , waski 15/02/06 21:06
    mysle ze daloby rade...
    select A from TEST as w UNION
    select B from TEST as w UNION
    select C from TEST as w UNION
    select D from TEST as w
    dodaj ALL jesli chcesz miec duplikaty

    http://www.really-fine.com/SQL_union.html

    SNAFU
    Situation Normal, All Fucked Up

    1. tak to jest to ale coś i nie wychodzi zbudowaniw zapytania, a niby wsztrko jest ok HELP! , john565 15/02/06 21:32
      (SELECT a AS wyn FROM wyniki)
      UNION ALL
      (SELECT b AS wyn FROM wyniki);

      #1064 - Something is wrong in your syntax obok '(SELECT a AS wyn FROM wyniki)
      UNION ALL
      (SELECT b AS wyn FROM ' w linii 1

      podczas gdy

      SELECT a AS wyn FROM wyniki

      f*ck

      1. ... , john565 15/02/06 21:32
        ucieło


        ...podczas gdy

        SELECT a AS wyn FROM wyniki

        zwraca bez zająknięcia to co jest w zapytaniu

        f*ck

      2. a nie masz bledu.... , rulezDC 15/02/06 21:47
        ze podstawiasz znowu cos pod nazwe wyn

        koniec koniec koniec

        1. no wydaje sie że nie, sugerowałems ie awet oficjalna stronką od mysqla , john565 15/02/06 21:51
          http://dev.mysql.com/doc/refman/5.0/en/union.html

          pozatym zalezy mi natym żeby to jednak było w jednej kolimnie, pozatym sprawdzałem wszelkie inne rekonfiguracje nawiasó i to też nei daje efektu

          f*ck

          1. soorka za literówki , john565 15/02/06 21:51
            jestem padnięty po całym dniu

            f*ck

  2. hmm , celt 15/02/06 22:58
    select a as w from testcol
    union all
    select b as w from testcol
    union all
    select c as w from testcol
    union all
    select d as w from testcol;
    PS. po co te nawiasy? Blad taki jak opisales moze wystapic w sytuacji gdy np. w pierwszym z selectow dales nawiasy w drugim pomineles

    Everything should be made as simple as
    possible, but no simpler

  3. a nie masz czasem źle zaprojektowanej tabeli? , zozol 15/02/06 23:05
    czy te dane nie powinny byc czasem w jednej kolumnie, skoro chcesz je traktować jako dane tego samego typu? napisz co te kolumny znaczą

    1. dokladnie , celt 15/02/06 23:17
      to zapytanie, jest wg mnie pozbawine sensu :)

      Everything should be made as simple as
      possible, but no simpler

      1. o tym może decydować jedynie , john565 16/02/06 01:05
        projektant tabeli, lub ktoś kto ma ją obcykaną na blache, nie uważasz ?

        f*ck

        1. pfu, bazy miało być , john565 16/02/06 01:05
          eh to zmęcznie :]

          f*ck

    2. tabela jest taka jak być powinna , john565 16/02/06 01:04
      każde z pól zawiera wynik rzucenia kostką, czyli 1-6, pola są od a do f, kolejnośc jest ważna , a zapytanie owe chem użyć do znalezienia ile razy podczas wszytkich rzuceń wypadła określona liczba oczek , mógłbym to zrobić przy pomocy jednego zapytania i kilku selectów into, ale właśnie szukam dla zaspokojenia własnej ciekawości jak by to tu zorbić zagnieżdżaonym selectem doczego są mi potrzebne własnie wszytskie wyniki wjednej kolumnie :]

      f*ck

      1. jak dla mnie to zle zaprojektowana tabela , Holyboy 16/02/06 08:32
        id, literka, wynik

        do tego zakladasz klucz na id-literka i masz to co chcesz

        Strength is irrelevant.
        Resistance is futile.
        We wish to improve ourselves.

        1. zgadzam się. , beef 16/02/06 09:04
          jak chcesz pogrupować np seriami, to dodajesz SeriesId i już. ŻELAZNA zasada: jeden typ danych (logiczny, nie fizyczny) = jedna kolumna. I nigdy inaczej. A dlaczego, to już wiesz :) Nie grupuje się jednakowych danych rekordami po prostu, to nie po to one są.

          this is the time of the revolution
          keepin' it in the right track
          feelin' it in my mind back

          1. no oki chyle czoła ALE DLACZEGO SIE NIE DA TEGO UNIONA ZROBIĆ ??? , john565 16/02/06 11:03
            bo chyba powinno sie dać

            f*ck

      2. to nie lepiej , celt 16/02/06 10:52
        napisać jakiś prosty programik?

        Everything should be made as simple as
        possible, but no simpler

  4. powodow ze nie dziala moze byc kilka... , josh 16/02/06 23:11
    ...wszystko zalezy od konkretnej bazy danych. SQL-SQL'em, a kazda baza i tak zachowuje sie specyficznie w roznych nietypowych sytuacjach...

    Jak mam strzelac to problemem moze byc np to, ze jak czasami jak robi sie select'y z unionem to tylko w pierwszym selekcie definiuje sie nazwy kolumn. Mozesz wiec sprobowac tak:

    select a as w from testcol
    union all
    select b from testcol
    union all
    select c from testcol
    union all
    select d from testcol;

    Moze byc tez inny problem, np. taki, ze kazdy select w unionie musi operowac na innej tabeli. Mozesz wiec sprobowac tak:

    select t1.a as w from testcol t1
    union all
    select t2.b as w from testcol t2
    union all
    select t3.c as w from testcol t3
    union all
    select t4.d as w from testcol t4;

    Moze trzeba by polaczyc obydwa podane przeze mnie pomysly w jedna calosc... a moze sie myle i to, co pisze nie ma sensu :)

    
All rights reserved ® Copyright and Design 2001-2025, TwojePC.PL