PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Postgres jsonb заявка за вложен обект

Използвайте json_agg() и jsonb_array_elements() функции:

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

Можете да обедините две вътрешни подзаявки:

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

Групирайте резултатите по productid:

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. Използване на логическа репликация на PostgreSQL за поддържане на винаги актуален TEST сървър за четене/запис

  2. n-ти процентил изчисления в postgresql

  3. Как да инсталирам postgres с NSIS с всички параметри?

  4. Как да направя поле ARRAY с ограничение за външен ключ в SQLAlchemy?

  5. Създайте индекс с няколко колони, за да наложите уникалност