U kunt de resultaten in één query krijgen door de UNION-operator te gebruiken. Het leent zich niet om kostenefficiënt te zijn op grote sets, maar doet zijn werk.
- alle zoekopdrachten moeten hetzelfde aantal kolommen van hetzelfde gegevenstype selecteren.
- je kunt null selecteren als je een unieke kolom in een zoekopdracht hebt
- het is ook handig om een string te selecteren die de oorsprong van de gegevens aangeeft
- de resultatenset gebruikt alleen de namen van de kolommen van de eerste zoekopdracht
-
volgorde is van toepassing op de hele resultatenset, niet op individuele zoekopdrachten
selecteer count(*) AS R_COUNT, 'OSABA' AS SOURCE,subjekt.nazev , null, null,null,null
van osoba,onderwerp
waar osoba.ID_PATRI_DO=subjekt.ID
groeperen op onderwerp.nazev
UNIE
selecteer count(*),'ZADAVACI_POSTUP', subjekt.nazev , null, null,null,null
van ZADAVACI_POSTUP,onderwerp
waar ZADAVACI_POSTUP.id_zadavatel=subjekt.ID
groeperen op onderwerp.nazev
UNIE
selecteer NULL,'Aplikacni_log', sb.nazev, lg.create_uzivatel, lg.create_cas,null,null
van Aplikacni_log lg sluit je aan bij zadavaci_postup zp op zp.id =lg.id_zp
doe mee met onderwerp sb op sb.id =zp.id_zadavatel
waar lg.create_cas> to_date('08.11.2014', 'DD.MM.YYYY')
UNIE
select count(*) pocet,'SUBQUERY', do_dne_včetně,nazev_organizace,max(trunc(sysdate)-6) ode_dne_včetně,max(trunc(sysdate))
van(
selecteer to_char(t.popis) popis_typu,subj.nazev nazev_organizace,
u.gebruikersnaam,u.nazev, a.datumzapisauditu
,to_char(a.datumzapisauditu,'DD.MM.YYYY') datum , a.id
van d$caudit a
word lid van cuzivatel u op u.id=a.id_uzivatel
word lid van osoba os op u.id_osoba_bridge =os.id
doe mee met t$subjekt subj op subj.id =os.id_patri_do
left join d$caaudittyp t op t.id=a.id_audittyp
waar datumzapisauditu tussen trunc(sysdate)-7 EN trunc(sysdate)
bestellen door a.datumzapisauditu desc)
;