sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgres jsonb-forespørgsel på indlejret objekt

Brug json_agg() og 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 flette to indre underforespørgsler:

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

Gruppér resultater 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. Fejl ved opdatering af database efter implementering til server. Laravel 5

  2. Postgres - Er dette den rigtige måde at oprette et delvist indeks på en boolesk kolonne?

  3. hvordan man eksporterer data fra omkring 300 tabeller i ORACLE DB til csv- eller txt-filer

  4. Fejl ved forbindelse til databasen:(ved brug af klassen org.gjt.mm.mysql.Driver) Sætningen (1) har ingen åben markør