Petr Gola wrote: > Potreboval bych bud dokopat Hibernate k tomu aby to ten prikaz > prevedlo na: > > select > osoba1.id <http://osoba1.id> as OSOBA_ID, > osoba1.pes_id as PES_ID, > pes1.jmeno AS PES_JMENO > from > tabulka_osoba osoba1, > tabulka_pes pes1 > where > osoba1.PES_ID = pes1.id <http://pes1.id> > > union > > select > osoba1.id <http://osoba1.id> as OSOBA_ID, > osoba1.pes_id as PES_ID, > null as PES_JMENO > from > tabulka_osoba osoba1, > where osoba1.PES_ID IS NULL > > order by PES_JMENO > Pro čisté sql je lepší použít LEFT JOIN místo UNION.
select osoba1.id <http://osoba1.id> as OSOBA_ID, osoba1.pes_id as PES_ID, pes1.jmeno as PES_JMENO from tabulka_osoba osoba1 LEFT JOIN tabulka_pes pes1 ON pes1.id=osoba1.pes_id order by pes1.nazev LEFT JOIN způsobí to, že se zobrazí i ty osoby, u kterých pes vůbec neexistuje (je NULL). Nastává zde ovšem problém s tím, zda se NULL řádky zobrazí první a nebo poslední - viz. jak psal S. Ošmera. Jinak tuším, že hibernate má také LEFT JOIN (ale nejsem si jistý). Fafi
