===== Složené SQL dotazy =====
Složené SQL dotazy je sestava několika jednoduchých SQL
dotazů. Jednotlivé dotazy začínají dvojicí závorek
//// a končí dvojicí závorek
////. Vyjímkou je druhá ukončovací závorka
prvního dotazu, která se píše až za poslední dotaz složeného dotazu (viz. syntaxe).
Složené dotazy se používají pouze jako výběr informací pro následný tisk.
select ....
select ....
select ....
select ....
Ve složených dotazech nelze porovnávat hodnoty pomocí znaků <,> nebo <>. Tyto
znaky musíme nahradit a to následovně:
* místo znaku "<" napíšeme "<" Př.: Datum < "1.1.2002"
* místo znaku ">" napíšeme ">" Př.: Datum > "1.1.2002"
* místo znaku "<>" napíšeme "!=" Př.: Datum != "1.1.2002"
Nebo uzavřít text do značky
Příklad:
Chceme vybrat všechny označené Partnery a k nim všechny akce z druhu
"kon"
select idpartner, firma from partneri_partneri
order by idpartner
select * from partneri_akce akce
where
akce.idpartner=:idpartner and
iddruh = 'kon'
Řádek akce.idpartner=:idpartner v posledním dotazu slouží k tomu, že
vybrané akce se přiřadí ke správnému partnerovi vybranému ve
druhém dotazu. U takovéhoto přiřazování se ukončovací závorka druhého dotazu
musí napsat až za následný dotaz. Systému se tímto řekne že vybrané záznamy musí
přiřazovat k záznamům vybraným předchozím dotazem.