Dd,
potřeboval bych poradit s jedním dotazem - zkoušel jsem
googlovat, ale asi nevím, jak se na to správně zeptat...
Mám tabulku osob, kde je osobidno jako primární klíč a tabulku
kurzů k těmto osobám - zde je také osobidno, přes kterou lze tyto
dvě tabulky svázat. Tabulky vypadají např. takto:
osoby:
- jmeno
- prijmeni
- osobidno
- status
kurzy:
- osobidno
- kurzidno
- aktivni (true/false)
- nazev
- zacatek (datum)
- konec (datum)
Potřeboval bych udělat pohled, kde ke každé osobě budu mít jednu
hodnotu kurzidno z tabulky kurzů, ale tak, že v tabulce kurzů mám aktivní
i neaktivní (staré) kurzy k dané osobě a já bych potřeboval
udělat výběr takto:
- pokud má aktivní kurzy, pak "nejstarší", tj. ten, který začal
nejdříve
- pokud má _pouze_ neaktivní, pak ten, který poslední skončil.
Vůbec nevím, jak do toho... Asi by mi stačilo u té druhé tabulky
udělat UNION dle daných podmínek, tedy:
SELECT kurzidno FROM kurzy WHERE aktivni ORDER BY zacatek
UNION SELECT kurzidno FROM kurzy WHERE NOT aktivni ORDER BY
konec DESC
Ale nevím, jak z nich vybrat tu jednu (první) hodnotu a provázat
to s druhou tabulkou?
Děkuju předem.
Zdraví
Honza Marek
--
Ing. Jan Marek
University of South Bohemia
Academic Computer Centre
Phone:
+420389032080
http://www.gnu.org/philosophy/no-word-attachments.cs.html