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

PostgreSQL và nodejs / pg, trả về JSON lồng nhau

Trong PostgreSQL, bạn có thể xây dựng đối tượng JSON sau:

[
    { "name": "Portfolio #1", "cars": [ "Car #1", "Car #2" ] },
    { "name": "Portfolio #2", "cars": [ "Car #3" ] }
]

Bạn có thể tạo đối tượng từ các bảng của mình bằng truy vấn sau:

select array_to_json(array(
  select row_to_json(n)
  from portfolio p
  left join lateral (select p.name, array(select name from cars where portfolio_id = p.id) as cars) n on true
  ))

Và với cars.votes các trường bao gồm:

select array_to_json(array(
  select row_to_json(n)
  from portfolio p
  left join lateral (select p.id, p.name, array_to_json(array(
     select row_to_json((select a from (select c.name, c.votes) a))
     from cars c
     where portfolio_id = p.id)) as cars) n on true
  ))



  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 để khôi phục dữ liệu cụ thể từ bản sao lưu trước đó trên Postgres Heroku? (Ví dụ:hàng vô tình bị xóa)

  2. Hàng đợi công việc dưới dạng bảng SQL với nhiều người tiêu dùng (PostgreSQL)

  3. Gây ra bởi:org.hibernate.MappingException:Cột lặp lại trong ánh xạ cho thực thể

  4. Truy vấn mảng JSONB tổng hợp trong Postgres?

  5. Làm thế nào để chuyển đổi văn bản điểm thành hình học