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

Làm cách nào để truy xuất dữ liệu từ nhiều bảng có liên quan trong Postgres?

SELECT ROW_TO_JSON(T)
FROM    (
        SELECT t1.id,
               t1.name,
               array_to_json(array((
                 select case when t2.id is not null then row_to_json(t2) 
                             when t3.id is not null then row_to_json(t3) 
                             when t4.id is not null then row_to_json(t4) 
                        end
                 from   public.relation r 
                 LEFT JOIN public.table1 t2 on r.table2 = t2.id
                 LEFT JOIN public.table1 t3 on r.table3 = t3.id
                 LEFT JOIN public.table1 t4 on r.table4 = t4.id
                 where  r.table1 = t1.id
               ))) related_items
        FROM   public.table1 t1
       ) T



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. làm thế nào để trả về bảng tạm thời từ hàm postgres?

  2. Hiệu suất truy vấn trong PostgreSQL bằng cách sử dụng 'tương tự như'

  3. Cách quản lý các giao dịch trên nhiều cơ sở dữ liệu

  4. Sử dụng lại một giá trị được mã hóa cứng trong nhiều lệnh gọi hàm trong truy vấn PostgreSQL

  5. (Một bảng) chèn hàng