Oracle
 sql >> база данни >  >> RDS >> Oracle

Връщане на заявка:ORA-01427 Подзаявка с един ред, връщаща повече от един ред

Бихте ли опитали с по-долу,

Използвал съм coalesce в случай че няма съвпадение за колона queue той ще го счита за нула и стойност 2 вместо това се взема.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. От XML вътре в CLOB, до таблица на Oracle със списък от пътища

  2. Как да получа Oracle, да видя какви процедури се изпълняват?

  3. Проблем с ODP .NET параметър с uint тип данни

  4. Как мога да получа уникалните знаци от низ в Oracle?

  5. Изпращайте имейл в Oracle с UTF-8 кодиране в темата