आप json_array_elements
का उपयोग कर सकते हैं एक SETOF json
उत्पन्न करने के लिए कार्य करता है एक सरणी से:
SELECT name, json_array_elements(data) AS author
FROM publisher
इसके बाद, आप इसे एक सबक्वेरी के रूप में उपयोग कर सकते हैं, ताकि आप जो चाहें फ़िल्टर कर सकें, उदा.:
SELECT DISTINCT author->>'author'
FROM (
SELECT name, json_array_elements(data) AS author
FROM publisher
) t
WHERE t.author->>'type' = 'Novel';
बस ध्यान दें कि यदि आपके पास इस तालिका में कई पंक्तियाँ हैं, तो ऐसे प्रश्नों का प्रदर्शन (कम से कम वर्तमान संस्करण के लिए, 9.3) वास्तव में खराब होगा। मेरा सुझाव है कि आप डेटा को तालिकाओं में सामान्य करें।