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

cách chỉ chọn các giá trị duy nhất từ ​​các bảng có liên quan

Bạn có thể sử dụng một hàm cửa sổ để thực hiện phép nối bên ngoài chỉ trên các hàng đầu tiên:

select t.id, t.b1_name, b2.b2_name
from (
  select p.id, b1.b1_name, row_number() over (partition by p.id order by b1_name) as rn
  from parent p
    join branch_1 b1 on b1.parent_id = p.id
) t
  left join (
    select parent_id, b2_name, 
           row_number() over (partition by parent_id) as rn
    from branch_2 
  ) b2 on b2.parent_id = t.id and b2.rn = t.rn
order by t.id;

Ví dụ trực tuyến: https://rextester.com/GNYF31027



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngăn rơi bảng nếu điều kiện không được đáp ứng

  2. Làm sắc nét dữ liệu của bạn với PostgreSQL 11

  3. Chọn các cột từ lệnh gọi hàm trong lõi sqlalchemy

  4. Python Postgres Cách tốt nhất để chèn dữ liệu từ bảng trên một DB sang một bảng khác trên một DB khác

  5. Làm cách nào để làm cho Flask SQLAlchemy sử dụng lại các kết nối db?