Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  MySql päring märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Stemugram
HV kasutaja

liitunud: 02.12.2001




sõnum 04.09.2010 19:54:12 MySql päring vasta tsitaadiga

Mul on tabelis kolm veergu kus on nimed ja päringuga oleks vaja saada kõigi kolme veeru peale kokku erinevad nimed.

Tabel:

nimi1 | nimi2 | nimi3
----------------------
Kask | Tamm | Sirel
----------------------
Saar | Saar | Mänd
----------------------
Mänd | Kirss | Kask

Vastus:
Kask, Saar, Mänd, Tamm, Kirss, Sirel
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
kpihus
Kreisi kasutaja
kpihus

liitunud: 14.04.2003




sõnum 04.09.2010 19:56:43 vasta tsitaadiga

http://viki.pingviin.org/index.php/Kuidas_targalt_k%C3%BCsida
Kommentaarid: 26 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 25
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
iFlop
Kreisi kasutaja
iFlop

liitunud: 03.05.2003



Autoriseeritud ID-kaardiga

sõnum 04.09.2010 20:14:48 vasta tsitaadiga

Kasuta UNIONi: http://en.wikipedia.org/wiki/Set_operations_(SQL)#UNION_operator

SELECT nimi1 FROM tabel
UNION
SELECT nimi2 FROM tabel
UNION
SELECT nimi3 FROM tabel
Kommentaarid: 67 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 66
tagasi üles
vaata kasutaja infot saada privaatsõnum
Stemugram
HV kasutaja

liitunud: 02.12.2001




sõnum 04.09.2010 20:31:21 vasta tsitaadiga

thumbs_up.gif
Tänud, sain tööle.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
mirko28
Aeg maha 1p
mirko28

liitunud: 31.12.2003




sõnum 17.09.2010 15:02:27 Re: MySql päring vasta tsitaadiga

Võtmesõna "UNION ALL" oleks parem.
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
nemu
HV vaatleja
nemu

liitunud: 22.01.2002



Autoriseeritud ID-kaardiga

sõnum 22.09.2010 10:55:13 vasta tsitaadiga

Erinevate nimede saamiseks on õige UNION.
Kommentaarid: 12 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum
mirko28
Aeg maha 1p
mirko28

liitunud: 31.12.2003




sõnum 22.09.2010 11:51:15 vasta tsitaadiga

nemu kirjutas:
Erinevate nimede saamiseks on õige UNION.


Jah loomulikult. Ma ei pannud alguses tähelegi, et erinevaid nimesid vaja on.
Kommentaarid: 5 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 4
tagasi üles
vaata kasutaja infot saada privaatsõnum
nemu
HV vaatleja
nemu

liitunud: 22.01.2002



Autoriseeritud ID-kaardiga

sõnum 22.09.2010 11:59:05 vasta tsitaadiga

Küll aga saab vältida kolmekordset table scani:


SELECT
  DISTINCT
    CASE WHEN y.col = 1 THEN x.nimi1
         WHEN y.col = 2 THEN x.nimi2
         ELSE x.nimi3
    END
FROM test x,
(
  SELECT 1 AS col FROM dual
  UNION ALL
  SELECT 2 FROM dual
  UNION ALL
  SELECT 3 FROM dual
) y;
Kommentaarid: 12 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 11
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  MySql päring
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.