Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno SQL - priradenie riadku druhej tabuľky, ak existuje, ak nie, zobrazí sa len riadok prvej

Povedzme, že mám tabuľku FAKTURA s týmito dôležitými položkami:

ID
Meno
PPD_ID

Ďalej mám tabuľku PPD, s týmito dôležitými položkami:

ID
Meno
Datum

Vytvorím príkaz SELECT:

select * from FAKTURA, PPD where FAKTURA.PPD_ID=PPD.ID

Problém je v tom, že mi to priradí len tie faktúry, kde bol vystavený aj PPD. Ja ale potrebujem, aby faktúry dalo všetky a ak existuje aj PPD k faktúre, aby sa priradilo k správnej fakúre. Takýto príkaz je nezmysel, takže ho ani skúšať nebudem, predpokladám, že by to k faktúram, ku ktorým nie je PPD, by postupne priraďovalo každé PPD:

select * from FAKTURA, PPD where FAKTURA.PPD_ID=PPD.ID or FAKTURA.PPD_ID=0

Viem, že je taká možnosť v SQL čo potrebujem, ale neviem si to teraz vybaviť ako to zapísať, lebo som to doteraz nikdy nepotreboval. Vedel by mi niekto poradiť?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Bez záruky, neodzkoušeno... SELECT * FROM FAKTURA LEFT JOIN PPD ON FAKTURA.PPD_ID = PPD.ID ORDER BY…
MaSo 11.12.2008 13:45
MaSo
Skúsil som hľadať, tiež som niečo podobné s LEFT JOIN našiel, ale nebol som si istý, či je to použit…
msx. 11.12.2008 13:54
msx.
V takovem pripade bys mel pouzit LEFT OUTER JOIN, ne LEFT JOIN
Jan Fiala 11.12.2008 14:12
Jan Fiala
Já bych řekl, že LEFT JOIN je to samé jako LEFT OUTER JOIN. Viz sql_join_left.asp PS: In some datab…
MaSo 11.12.2008 14:20
MaSo
Jo, a v nekterych je LEFT JOIN zase to same jako obycejny JOIN A pokud nenapise, pro jakou DB to chc…
Jan Fiala 11.12.2008 14:47
Jan Fiala
Neexistuje žiadna databáza, v ktorej by LEFT JOIN bolo to isté ako obyčajný JOIN. Podľa štandardu SQ… poslední
los 11.12.2008 16:23
los

Zpět do poradny Odpovědět na původní otázku Nahoru