Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ORA-01427:Eine einzeilige Unterabfrage gibt mehr als eine Zeile zurück

Das Problem war, dass START WITH einen einzelnen Wert erwartet und meine Unterabfrage mehrere Werte zurückgab, also habe ich die Abfrage von geändert :

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')

zu :

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') 

und es funktioniert gut.