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

ऑरैकल पदानुक्रमित प्रश्नों को पोस्टग्रेस्क्ल में कैसे परिवर्तित करें?

PostgreSQL में पुनरावर्ती प्रश्नों का निर्माण पहले प्रारंभिक . निर्दिष्ट करके किया जाता है पंक्तियों का सेट (गैर-पुनरावर्ती शब्द , यानी पदानुक्रम के मूल या अंतिम स्तर पर)। बाद के पुनरावृत्तियों (पुनरावर्ती शब्द . से अधिक , UNION ALL . के बाद उप-क्वेरी ) फिर परिणाम सेट में पंक्तियां जोड़ें इनपुट पंक्ति सेट में शेष पंक्तियों से जब तक कोई और पंक्तियाँ नहीं जोड़ी जातीं।

आपके मामले में, प्रारंभिक उप-क्वेरी अनफ़िल्टर्ड है, इसलिए आप प्रारंभिक रन पर केवल सभी पंक्तियों को जोड़ते हैं, बाद के रनों के लिए कुछ भी नहीं छोड़ते हैं।

निम्न का प्रयास करें:

WITH RECURSIVE q AS (
  SELECT po.catalog_id,po.sub_tree_id
  FROM my_catalog po
  WHERE sub_tree_id = 0  -- this initially selects only "root" rows
UNION ALL
  SELECT po.catalog_id,po.sub_tree_id
  FROM my_catalog po
  JOIN q ON q.catalog_id=po.sub_tree_id
)
SELECT * FROM q;



  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. आंशिक वाक्य मिलान के साथ Django पाठ खोज django3 को अद्यतन करें

  3. क्या OpenShift क्लस्टर में PostgreSQL सेवा उजागर मार्ग के माध्यम से बाहरी ट्रैफ़िक प्राप्त कर सकती है

  4. Postgresql अद्वितीय अनुक्रमणिका बनाएँ

  5. Dbplyr का उपयोग करते समय दिनांक को वर्ष-तिमाही प्रारूप में परिवर्तित करना