sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgres jsonb-fråga på kapslat objekt

Använd json_agg() och jsonb_array_elements() funktioner:

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

Du kan slå samman två inre underfrågor:

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

Gruppera resultat efter produkt-id:

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. Använder resultatet av frågan till en annan fråga med IN()

  2. PostgreSQL:Varning:Konsolens teckentabell (437) skiljer sig från Windows teckentabell (1252)

  3. linux mysql-server kan inte hitta mysql_config

  4. Hur man bestämmer MySQL-versionen