oracle - utilizada - ORA-01427: subconsulta de una sola fila devuelve más de una fila
tipos de subconsultas sql (1)
El problema fue que START WITH espera un valor único y mi subconsulta devolvió varios valores, por lo que cambié la consulta de :
START WITH "ID" =
(SELECT headid
FROM emppirmesion per
inner join empldabdetail empinfo
on per.emprecid = empinfo.recid
where lower(empinfo.shortname) = lower(''ibmadmin'') and
per.headid > 0 and
per.clasisymbolicname = ''SoHiring'')
a :
Where "ID" in
(SELECT headid
FROM emppirmesion per
inner join empldabdetail empinfo
on per.emprecid = empinfo.recid
where lower(empinfo.shortname) = lower(''ibmadmin'') and
per.headid > 0 and
per.clasisymbolicname = ''SoHiring'')
y funciona bien
mi consulta es la siguiente:
SELECT DISTINCT *
FROM (SELECT depts."ID", depts.arabic_description
FROM sng_v_org_unit_departments depts
INNER JOIN (SELECT "ID", arabic_description, ouh_id
FROM sng_v_org_unit_headers
START WITH "ID" =
(SELECT headid
FROM emppirmesion per
inner join empldabdetail empinfo
on per.emprecid = empinfo.recid
where lower(empinfo.shortname) = lower(''ibmadmin'') and
per.headid > 0 and
per.clasisymbolicname = ''SoHiring'')
CONNECT BY PRIOR "ID" = ouh_id) heads
ON depts.ouh_id = heads."ID"
UNION
SELECT per.depid, depts.arabic_description
FROM emppirmesion per
inner join empldabdetail empinfo on per.emprecid = empinfo.recid
inner join sng_v_org_unit_departments depts on per.depid = depts."ID"
where lower(empinfo.shortname) = lower(''ibmadmin'') and
per.depid > 0 and
per.clasisymbolicname = ''SoHiring'')
Obtengo una excepción ORA-01427: la subconsulta de una sola fila devuelve más de una fila si tengo más de una fila en la implementación que tienen el mismo nombre simbólico de clase aunque tienen diferentes valores de cabecera y esta excepción no debería ocurrir en este caso, por favor asesórate sobre eso.