sql >> Databasteknik >  >> RDS >> Oracle

Fråga som returnerar:ORA-01427 Enrads underfråga som returnerar mer än en rad

Kan du prova med nedan,

Jag har använt coalesce om det inte finns någon matchning för kolumn queue det kommer att betrakta det som null och värde 2 tas istället.

update product pd
set    pd.age = case
                   when pd.exittime != null then
                    (sysdate - pd.exittime)
                   else
                    coalesce((select (sysdate - pd.entrytime)
                                from department dp
                                where pd.queue = dp.queue
                                  and pd.id = dp.id)
                            ,2)
                end
where  pd.id > 1
and    pd.status in ('1','7','2','5')
and    exists (select 1
                 from department dp
                where pd.id = dp.id
                  and pd.currentstatus = dp.currentstatus
                  and pd.activity = dp.activity);


  1. MySQL Syntax felmeddelande Operand bör innehålla 1 kolumn(er)

  2. Sök efter namn i cx_Oracle

  3. Anledningar till att inte använda GROUP_CONCAT?

  4. Hur använder man LOAD_FILE för att ladda en fil till en MySQL-blob?