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

Làm cách nào để nối ngoài hai bảng (bảng chính và nhiều-một) để chỉ nhận được MỘT mục từ bảng thứ hai?

Nếu bạn đang sử dụng SQL Server, bạn có thể sử dụng mệnh đề TOP. Nếu đó là thứ gì đó khác với SQL Server, bạn sẽ phải xem liệu cơ sở dữ liệu đó có cung cấp thứ gì đó tương đương hay không (nhiều người trong số họ làm như vậy). Một cái gì đó như thế này ...

Select * from Main m
left outer join 
(select top 1 * from subtable s
  where s.main_table_id = m.id) q
on q.main_table_id = m.id;

Lưu ý:Đó là để cho bạn thấy ý tưởng chung. Tôi không có cơ hội để chạy nó, vì vậy có thể có một vài thay đổi cần thiết, nhưng khái niệm 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ạo API đồ thị không máy chủ cho MySQL, Postgres và Aurora

  2. Làm thế nào để sao lưu và khôi phục cơ sở dữ liệu PostgreSQL trong Windows7?

  3. PostgreSQL:một số rắc rối khi chèn từ lựa chọn khi xung đột

  4. Cách sạch nhất để nhận giờ địa phương hiện tại ở Postgres là gì?

  5. Tìm các cột KHÔNG ĐẦY ĐỦ trong PostgreSQL