Výsledky můžete získat v jednom dotazu pomocí operátoru UNION. Nehodí se jako nákladově efektivní na velkých sadách, ale svou práci plní.
- všechny dotazy musí vybrat stejný počet sloupců stejného datového typu.
- Pokud máte v dotazu jedinečný sloupec, můžete vybrat hodnotu null
- je také užitečné vybrat řetězec označující původ dat
- výsledková sada použije pouze názvy sloupců prvního dotazu
-
řazení se vztahuje na celou sadu výsledků, nikoli na jednotlivé dotazy
select count(*) AS R_COUNT, 'OSABA' AS SOURCE,subjekt.nazev , null, null,null,null
od osoba,subjekt
kde osoba.ID_PATRI_DO=subjekt.ID
skupina podle předmětu.nazev
UNION
select count(*),'ZADAVACI_POSTUP', subjekt.nazev , null, null,null,null
ze ZADAVACI_POSTUP,subjekt
kde ZADAVACI_POSTUP.id_zadavatel=subjekt.ID
skupina podle předmětu.nazev
UNION
vyberte NULL,'Aplikacni_log', sb.nazev, lg.create_uzivatel, lg.create_cas,null,null
z Aplikacni_log lg join zadavaci_postup zp na zp.id =lg.id_zp
připojit subjekt sb na sb.id =zp.id_zadavatel
kde lg.create_cas> to_date('08.11.2014', 'DD.MM.RRRR')
UNION
select count(*) pocet,'SUBQUERY', do_dne_včetně,nazev_organizace,max(trunc(sysdate)-6) ode_dne_včetně,max(trunc(sysdate))
od (
select to_char(t.popis) popis_typu,subj.nazev nazev_organizace,
u.username,u.nazev, a.datumzapisauditu
,to_char(a.datumzapisauditu,'DD.MM.YYYY') datum , a.id
z d$caudit a
připojte se k cuzivatel u na u.id=a.id_uzivatel
připojte se k osobě os na u.id_osoba_bridge =os.id
připojte se k t$subjekt subj na subj.id =os.id_patri_do
vlevo připojit d$caudittyp t na t.id=a.id_audittyp
kde datumzapisauditu mezi trunc(sysdate)-7 AND trunc(sysdate)
objednat podle a.datumzapisauditu desc)
;