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

एक जेसन कॉलम में नेस्टेड मानों पर पंक्तियों को कैसे फ़िल्टर करें?

आपकी क्वेरी करीब है। json_each() प्रमुख कार्य है। या jsonb_each() jsonb . के लिए . कुछ सुधार:

SELECT *
FROM   things t
WHERE  EXISTS (
   SELECT FROM json_each(t.blueprint) b
   WHERE  b.value->>'name' ILIKE 'azamund'
   );

पुराना sqlfiddle
db<>fiddle यहां

JSON सरणी के साथ वैकल्पिक

आपने JSON सरणियों के लिए मेरा संबंधित उत्तर पहले ही देख लिया है:

जबकि नेस्टेड JSON ऑब्जेक्ट्स के लिए क्वेरी उतनी ही सरल लगती है, बेहतर इंडेक्स सपोर्ट . है सरणी के लिए:

Postgres 12 में SQL/JSON के साथ सरल/अधिक कुशल हो सकता है ...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sqlalchemy के साथ प्रति-अनुरोध के आधार पर डेटाबेस इंजन को गतिशील रूप से कैसे बांधें

  2. Postgres (Windows स्थापना) पर व्यवस्थापक पासवर्ड भूल गए, रीसेट नहीं किया जा सकता

  3. चेक भाषा के लिए Postgresql पूर्ण पाठ खोज (कोई डिफ़ॉल्ट भाषा विन्यास नहीं)

  4. एसक्यूएल क्वेरी में डिफ़ॉल्ट मान के साथ कस्टम कॉलम कैसे जोड़ें?

  5. Postgresql, Heroku, Rails 4 पर प्राथमिक कुंजी त्रुटि तैयार करें