sql >> Databasteknik >  >> RDS >> Oracle

Oracle - fler frågor i ett resultat

Du kan få resultaten i en fråga genom att använda UNION-operatorn. Det lämpar sig inte för att vara kostnadseffektivt på stora uppsättningar men gör jobbet.

  • alla frågor måste välja samma antal kolumner av samma datatyp.
  • du kan välja null om du har en unik kolumn i en fråga
  • det är också praktiskt att välja en sträng som anger ursprunget för data
  • resultatuppsättningen kommer endast att använda namnen på kolumnerna i den första frågan
  • ordning gäller hela resultatuppsättningen, inte enskilda frågor

    välj count(*) AS R_COUNT, 'OSABA' AS SOURCE,subjekt.nazev , null, null,null,null

    från osoba,subjekt

    där osoba.ID_PATRI_DO=subjekt.ID

    grupp av subjekt.nazev

    UNION

    välj count(*),'ZADAVACI_POSTUP', subjekt.nazev , null, null,null,null

    från ZADAVACI_POSTUP,subjekt

    där ZADAVACI_POSTUP.id_zadavatel=subjekt.ID

    grupp av subjekt.nazev

    UNION

    välj NULL,'Aplikacni_log', sb.nazev, lg.create_uzivatel, lg.create_cas,null,null

    från Aplikacni_log lg gå med i zadavaci_postup zp på zp.id =lg.id_zp

    gå med subjekt sb på sb.id =zp.id_zadavatel

    där lg.create_cas> to_date('08.11.2014', 'DD.MM.YYYY')

    UNION

    välj count(*) pocet,'SUBQUERY', do_dne_včetně,nazev_organizace,max(trunc(sysdate)-6) ode_dne_včetně,max(trunc(sysdate))

    från(

    välj to_char(t.popis) popis_typu,subj.nazev nazev_organizace,

    u.användarnamn,u.nazev, a.datumzapisauditu

    ,to_char(a.datumzapisauditu,'DD.MM.YYYY') datum , a.id

    från d$caudit a

    gå med i cuzivatel u på u.id=a.id_uzivatel

    gå med i osoba os på u.id_osoba_bridge =os.id

    gå med i t$subjekt subj på subj.id =os.id_patri_do

    vänster gå med i d$caudittyp t på t.id=a.id_audittyp

    där datumzapisauditu mellan trunc(sysdate)-7 OCH trunc(sysdate)

    ordning efter a.datumzapisauditu desc)

    ;




  1. MySql - Sätt att uppdatera en del av en sträng?

  2. få datum för alla lördagar under ett givet år - sql-server

  3. Ge privilegier på flera tabeller med specifika prefix

  4. Får de sista 5 tecknen i strängen med mysql-fråga