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

कुंजी निकालें, Postgres में json वस्तुओं से मान

SELECT q.id, d.key, d.value
FROM q
JOIN json_each_text(q.data) d ON true
ORDER BY 1, 2;

फ़ंक्शन json_each_text() एक सेट रिटर्निंग फ़ंक्शन है, इसलिए आपको इसे एक पंक्ति स्रोत के रूप में उपयोग करना चाहिए। फ़ंक्शन का आउटपुट यहां है लेटरल रूप से शामिल तालिका में q , जिसका अर्थ है कि तालिका में प्रत्येक पंक्ति के लिए, प्रत्येक (key, value) data . से जोड़ी कॉलम को केवल उस पंक्ति से जोड़ा जाता है, इसलिए मूल पंक्ति और json से बनी पंक्तियों के बीच संबंध वस्तु बनी रहती है।

तालिका q एक बहुत ही जटिल उप-क्वेरी भी हो सकती है (या एक VALUES खंड, जैसे आपके प्रश्न में)। फ़ंक्शन में, उस उप-क्वेरी के मूल्यांकन के परिणाम से उपयुक्त कॉलम का उपयोग किया जाता है, इसलिए आप उप-क्वेरी के उपनाम और उप-क्वेरी में (उपनाम) कॉलम के संदर्भ का उपयोग करते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकाधिक स्तंभों के लिए चयन और सम्मिलित करें के बीच दौड़ की स्थिति

  2. वैग्रंट/शेफ-सोलो के साथ पोस्टग्रेस्क्ल पासवर्ड सेट करना

  3. डेटाटेबल्स - जेसन आउटपुट - पोस्टग्रेएसक्यूएल - रिटर्न शून्य

  4. वेरिएबल के साथ रॉ लारवेल

  5. प्रत्येक तालिका के लिए अद्वितीय अनुक्रमों का उपयोग हाइबरनेट करना चाहिए?