Wyniki można uzyskać w jednym zapytaniu, używając operatora UNION. Nie jest opłacalny w przypadku dużych zestawów, ale spełnia swoje zadanie.
- wszystkie zapytania muszą wybrać tę samą liczbę kolumn tego samego typu danych.
- możesz wybrać null, jeśli masz unikalną kolumnę w zapytaniu
- przydatne jest również wybranie ciągu wskazującego pochodzenie danych
- zestaw wyników będzie używał tylko nazw kolumn pierwszego zapytania
-
kolejność dotyczy całego zestawu wyników, a nie pojedynczych zapytań
select count(*) AS R_COUNT, 'OSABA' AS SOURCE,subjekt.nazev , null, null,null,null
od osoby,subjekt
gdzie osoba.ID_PATRI_DO=subjekt.ID
grupa według subjekt.nazev
UNIA
wybierz count(*),'ZADAVACI_POSTUP', subjekt.nazev , null, null, null, null
z ZADAVACI_POSTUP,temat
gdzie ZADAVACI_POSTUP.id_zadavatel=subjekt.ID
grupa według subjekt.nazev
UNIA
wybierz NULL,'Aplikacni_log', sb.nazev, lg.create_uzivatel, lg.create_cas,null,null
z Aplikacni_log lg dołącz do zadavaci_postup zp na zp.id =lg.id_zp
dołącz do tematu sb na sb.id =zp.id_zadavatel
gdzie lg.create_cas> to_date('08.11.2014', 'DD.MM.RRRR')
UNIA
select count(*) pocet,'SUBQUERY', do_dne_včetně,nazev_organizace,max(trunc(sysdate)-6) ode_dne_včetně,max(trunc(sysdate))
od(
wybierz to_char(t.popis) popis_typu,subj.nazev nazev_organizace,
u.nazwa użytkownika,u.nazev, a.datumzapisauditu
,to_char(a.datumzapisauditu,'DD.MM.RRRR') dane , a.id
od d$caudit a
dołącz do cuzivatel u na u.id=a.id_uzivatel
dołącz do osoby os na u.id_osoba_bridge =os.id
dołącz do t$subjekt temat na subj.id =os.id_patri_do
lewy dołączyć d$caudittyp t na t.id=a.id_audittyp
gdzie datumzapisauditu między trunc(sysdate)-7 ORAZ trunc(sysdate)
zamówienie przez a.datumzapisauditu desc)
;