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

Как да заявя вложени масиви в колона на postgres json?

Използвайте jsonb_array_elements() в странично присъединяване толкова пъти, колкото е дълбочината на json масив, които елементи искате да сравните:

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. Кеширане в PostgreSQL

  2. липсва запис на клауза FROM за таблица Grupo cakephp

  3. Как search_path влияе върху разделителната способност на идентификатора и текущата схема

  4. Как мога да стартирам PostgreSQL на Windows?

  5. По-добре ли е да създадете индекс, преди да попълните таблица с данни, или след като данните са на мястото си?