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

PostgreSql :Json масив към редове с помощта на странично присъединяване

Това ли искате?

    -- just simulate table:
with my_table(details) as(
values
('{
"city": "London",
"name": "Sainburry",
"quantities": [112, 145, 222, 122, 124],
"prices": [4, 4, 4, 0, 3],
"dates": ["13.05.2020", "14.05.2020", "15.05.2020", "16.05.2020", "17.05.2020"]
}'::json)
)


-- here is query:
select  
my_table.details->>'city',  u.quantities, u.prices  
from my_table
JOIN LATERAL UNNEST( 
    ARRAY(SELECT json_array_elements_text(details->'quantities')) ,
    ARRAY(SELECT json_array_elements_text(details->'prices')) 
) u(quantities, prices) ON TRUE
WHERE
my_table.details->>'city' = 'London'

Вижте демонстрация



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django формуляр за заявка към база данни (модели)

  2. Форматирайте числата със запетаи в PostgreSQL

  3. Как Cosd() работи в PostgreSQL

  4. Как да получите текущата дата и час (без часова зона) в PostgreSQL

  5. Колоната 'mary' не съществува