Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Truy vấn trả về:ORA-01427 Truy vấn con một hàng trả về nhiều hơn một hàng

Bạn có thể thử với bên dưới,

Tôi đã sử dụng coalesce trong trường hợp không có kết quả phù hợp với cột queue nó sẽ coi nó là null và giá trị 2 được thực hiện thay thế.

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. Tương đương với SQL Server ÁP DỤNG trong Oracle là gì?

  2. Ngày của Javascript thành đối tượng ngày sql

  3. làm thế nào để chỉ hiển thị thời gian trong oracle?

  4. Tạo số 0 đứng đầu trong Oracle

  5. in ngày bắt đầu và ngày kết thúc trong một hàng cho các phạm vi ngày liên tục hoặc trùng lặp trong SQL tiên tri