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

Truy vấn jsonb postgres trên đối tượng lồng nhau

Sử dụng json_agg () jsonb_array_elements () chức năng:

select json_agg(cell)
from (
    select jsonb_array_elements(elem->'cell') cell
    from (
        select jsonb_array_elements(data->'cust') elem
        from product_cust
        ) subsub
    ) sub

Bạn có thể hợp nhất hai truy vấn con bên trong:

select json_agg(cell)
from (
    select jsonb_array_elements(jsonb_array_elements(data->'cust')->'cell') cell
    from product_cust
    ) sub

Kết quả nhóm theo sản phẩm:

select productid, json_agg(cell)
from (
    select productid, jsonb_array_elements(jsonb_array_elements(data->'cust')->'cell') cell
    from product_cust
    ) sub
group by 1
order by 1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm tỷ lệ của mỗi X gồm Y trong PostgreSQL?

  2. PostgreSQL - Quartz JDBC-JobStoreTX - getTriggersForJob - ArrayIndexOutOfBoundsException

  3. Sử dụng Barman để sao lưu PostgreSQL - Tổng quan

  4. postgres:nâng cấp người dùng thành superuser?

  5. Postgres:Xác định chuỗi dài nhất (tính theo ngày) cho mỗi nhà phát triển