PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Kahe tabeli andmete järjestamine ühe välja järgi
Postitaja: tooming 2008-04-01 23:19:00
Oeh, see pealkirja väljamõtlemine on raske..
Olukord selline, et olen moodustanud järgmised tabelid:

distantsid:
ID aeg kilomeetrid markused
1 1234567895 15.7 Niisama rallimine
2 1234567897 18.5 Teine sõit
3 1234567995 17.2 Sõit pärast teist tankimist

tankimised:
ID aeg liitreid ls hind paagis
1 1234567890 9.3 254000 16.3 0
2 1234567990 10.6 254200 16.3 0

Andmed lambist võetud, ärge pange neid tähele.
Eesmärk oleks nüüd kõik need kirjed väljastada `aeg` välja järgi. Kõige lihtsam variant minu jaoks oleks panna kõik need kirjed ühte tabelisse ja siis määrata vastavalt tüübi järgi, kas tegemist sõidu või tankimisega. Mõtlesin, et JOIN käsud aitavad, aga tundub, et need pole päris need, mida vaja oleks.
Selline tavaline päring ütleb, et `aeg` on nö ambiguous:
SELECT *
FROM `distantsid`, `tankimised`
ORDER BY `aeg`
LIMIT 0 , 30
RE: Kahe tabeli andmete järjestamine ühe välja järgi
Postitaja: axelpaan_ 2008-04-01 23:51:21
(select id, aeg from distantsid
union
select id, aeg from soidud)
order by aeg
RE: Kahe tabeli andmete järjestamine ühe välja järgi
Postitaja: tooming 2008-04-03 18:49:28
Union iseenesest õige asi, aga sulud olid kuidagi valesti, tundub..
Selline variant töötas:
(
SELECT ID, aeg
FROM distantsid
)
UNION (

SELECT ID, aeg
FROM tankimised
)
ORDER BY aeg

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.083869934082