PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

PostgreSql:लेटरल जॉइन का उपयोग करके पंक्तियों के लिए Json Array

क्या आप यही चाहते हैं?

    -- 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. Powershell का उपयोग करके दूरस्थ PostgreSql डेटाबेस से कनेक्ट करें

  2. पोस्टग्रेज कॉलम मौजूद नहीं है

  3. नया डेटा Postgres पर रेल सरणी स्तंभ के लिए जारी नहीं है

  4. मैं एक स्ट्रिंग को पूर्णांक में कैसे डालूं और PostgreSQL के साथ कलाकारों में त्रुटि के मामले में 0 है?

  5. पोस्टग्रेस्क्ल सरणी को पंक्तियों में खोलना