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

Hvordan forespørger man indlejrede arrays i en postgres json-kolonne?

Brug jsonb_array_elements() i lateral joinforbindelse lige så mange gange som dybden af ​​et json-array, hvilke elementer du vil sammenligne:

select 
    schools->>'school_id' school_id,
    addresses->>'addr_id' addr_id,
    addresses->>'house_description' house_description,
    addresses->>'house_no' house_no
from title_register_data,
jsonb_array_elements(address_data->'schools') schools,
jsonb_array_elements(schools->'addresses') addresses
where addresses->>'house_description' = addresses->>'house_no';

 school_id | addr_id | house_description | house_no 
-----------+---------+-------------------+----------
 1         | 4       | 1                 | 1
(1 row)  



  1. Ændring af, hvordan isql udfører SQL

  2. Rails og PostgreSQL:Rolle postgres eksisterer ikke

  3. PDO mysql:Sådan ved du, om indsættelsen lykkedes

  4. Konfiguration af ScaleGrid-tilladelser på AWS ved hjælp af en IAM-politikskabelon