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

पदानुक्रमित डेटा में XPath क्वेरी, पूर्वजों-वंशज संबंधों को संरक्षित करना

इसे आजमाएं:

SELECT (xpath('./@name', parrot.node))[1] AS name
     , unnest(xpath('./descriptor/text()', parrot.node)) AS descriptor
FROM  (             
   SELECT unnest(xpath('./parrot', parrot_xml.document)) AS node
   FROM   parrot_xml
   ) parrot;

बिल्कुल अनुरोधित आउटपुट उत्पन्न करता है।

सबसे पहले, सबक्वेरी में, मैं पूरे तोते-नोड्स को पुनः प्राप्त करता हूं। प्रति पंक्ति एक नोड।

इसके बाद, मुझे xpath() के साथ नाम और डिस्क्रिप्टर मिलते हैं। दोनों सरणी हैं। मैं name . का पहला (और केवल) तत्व लेता हूं और descriptor . को विभाजित करें सरणी `अननेस्ट () के साथ, जिससे वांछित परिणाम पर पहुंचे।

मैंने एक संबंधित प्रश्न का व्यापक उत्तर लिखा हाल ही में। आपकी रुचि हो सकती है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel वाक्पटु - क्या चयन से पहले संकेत जोड़ने का कोई तरीका है?

  2. त्रुटि:केवल पढ़ने योग्य उपयोगकर्ता के रूप में चयन करने का प्रयास करते समय पोस्टग्रेज़ पर संबंध टैबलेटनाम के लिए अनुमति अस्वीकार कर दी गई

  3. क्रोंटैब प्रविष्टि का परीक्षण कैसे करें?

  4. PostgreSQL डेटाबेस को SQLServer एक में कैसे माइग्रेट करें?

  5. रेल और पोस्टग्रेज:परिवर्तन_कोलोम में प्रवासन त्रुटि देता है समय क्षेत्र के बिना टाइमस्टैम्प टाइप करने के लिए नहीं डाला जा सकता है