Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zapytanie zwracające :ORA-01427 Jednowierszowe podzapytanie zwracające więcej niż jeden wiersz

Czy możesz spróbować poniżej,

Użyłem coalesce w przypadku braku dopasowania dla kolumny queue uzna ją za null i wartość 2 jest brane.

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. jak przekonwertować datę na numer miesiąca?

  2. Unikalne ograniczenie Oracle i unikalny indeks

  3. Nagrody Oracle Database Developer Choice Awards

  4. Oracle DB:Jak mogę napisać zapytanie, ignorując wielkość liter?

  5. nie można wstawić ramki danych do istniejącej tabeli Oracle