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

Cập nhật tương quan Oracle SQL

Nếu có mối quan hệ một-nhiều giữa t1 và t2 hoặc giữa t2 và t3, bạn sẽ nhận được nhiều kết quả phù hợp cho mỗi hàng trong t1. Nếu bạn biết rằng tất cả các hàng trong t3 thuộc cùng một hàng trong t1 có cùng giá trị trong d, thì bạn có thể sử dụng DISTINCT để loại bỏ các bản sao (giống hệt nhau).

UPDATE table1 t1
   SET t1.c = (select DISTINCT t3.d
               from table2 t2, table3 t3
               where t2.b = t3.b and t1.a = t2.a)                                  
 WHERE EXISTS ( SELECT 1 FROM table2 t2, table3 t3 WHERE t1.c = t3.c and t1.a = t2.a);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Công việc Giám đốc Doanh nghiệp Oracle là Hùng

  2. phương ngữ ngủ đông cho oracle 12c

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

  4. Kiểm tra xem tham số có phải là NULL trong mệnh đề WHERE không

  5. Làm thế nào để triển khai các mối quan hệ một-một, một-nhiều và nhiều-nhiều trong khi thiết kế bảng?