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

Chuyển đổi mối quan hệ nhiều-nhiều thành một-nhiều trong PostgreSQL

UPDATE bar b
SET    foo_id = fb.foo_id
FROM   foo_bar fb
WHERE  fb.bar_id = b.bar_id;

Nếu bạn nên có nhiều hàng cho một bar (mà bạn không nên, theo mô tả của bạn) một hàng sẽ được cập nhật nhiều lần và kết quả là tùy ý.

Dạng truy vấn này thường hoạt động tốt hơn một truy vấn con tương quan.

Lưu ý rằng khóa chính của bar thực sự nên được đặt tên là bar_id - Tôi sử dụng tên đó trong truy vấn.



  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ách đặt múi giờ cho psql Postgres?

  2. Lỗi khi lưu geodjango PointField

  3. PostgreSQL CHẨN ĐOÁN BẬT với các ĐẶT HÀNG KHÁC BỞI

  4. Cách nhập cơ sở dữ liệu PostgreSQL bằng phpPgAdmin

  5. Chiến lược hiệu quả để để lại dấu vết kiểm tra / lịch sử thay đổi cho các ứng dụng DB?