sql >> Base de Datos >  >> RDS >> Oracle

Oracle:más consultas en un resultado

Puede obtener los resultados en una consulta utilizando el operador UNION. No se presta a ser rentable en conjuntos grandes, pero hace el trabajo.

  • todas las consultas deben seleccionar el mismo número de columnas del mismo tipo de datos.
  • puede seleccionar nulo si tiene una columna única en una consulta
  • también es útil seleccionar una cadena que indique el origen de los datos
  • el conjunto de resultados solo usará los nombres de las columnas de la primera consulta
  • el orden se aplica a todo el conjunto de resultados, no a las consultas individuales

    seleccione count(*) COMO R_COUNT, 'OSABA' COMO FUENTE,subjekt.nazev , null, null,null,null

    de osoba,subjekt

    donde osoba.ID_PATRI_DO=sujeto.ID

    grupo por subjekt.nazev

    UNIÓN

    seleccionar recuento(*),'ZADAVACI_POSTUP', subjekt.nazev, nulo, nulo, nulo, nulo

    de ZADAVACI_POSTUP, sujeto

    donde ZADAVACI_POSTUP.id_zadavatel=subjekt.ID

    grupo por subjekt.nazev

    UNIÓN

    seleccione NULL, 'Aplikacni_log', sb.nazev, lg.create_uzivatel, lg.create_cas, nulo, nulo

    de Aplikacni_log lg unirse a zadavaci_postup zp en zp.id =lg.id_zp

    unirse a subjekt sb en sb.id =zp.id_zadavatel

    donde lg.create_cas> to_date('08.11.2014', 'DD.MM.AAAA')

    UNIÓN

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

    de(

    seleccione to_char(t.popis) popis_typu,subj.nazev nazev_organizace,

    u.nombre de usuario,u.nazev, a.datumzapisauditu

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

    de d$caudit a

    únete a cuzivatel u en u.id=a.id_uzivatel

    únete a osoba os en u.id_osoba_bridge =os.id

    unirse a t$subjekt subj en subj.id =os.id_patri_do

    únete a la izquierda d$caudittyp t en t.id=a.id_audittyp

    donde datumzapisauditu between trunc(sysdate)-7 AND trunc(sysdate)

    pedido por a.datumzapisauditu desc)

    ;