PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak wysyłać zapytania do zagnieżdżonych tablic w kolumnie postgres json?

Użyj jsonb_array_elements() w łączeniu bocznym tyle razy, ile wynosi głębokość tablicy json, które elementy chcesz porównać:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak radzić sobie z ewolucją bazy danych Play Framework 2 w środowisku produkcyjnym

  2. Nowość w PostgreSQL 12:Wygenerowane kolumny

  3. Jak uzyskać aktualną datę w PostgreSQL

  4. Zadanie cron do usuwania starych danych z postgres na debianie

  5. Przycinaj końcowe spacje za pomocą PostgreSQL