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

क्या पुनरावर्ती SQL क्वेरी बनाना संभव है?

यहाँ सामान्य तालिका अभिव्यक्ति का उपयोग करते हुए एक उदाहरण स्क्रिप्ट है:

with recursive sumthis(id, val) as (
    select id, value
    from example
    where id = :selectedid
    union all
    select C.id, C.value
    from sumthis P
    inner join example C on P.id = C.parentid
)
select sum(val) from sumthis

ऊपर दी गई स्क्रिप्ट sumthis . नामक एक 'वर्चुअल' टेबल बनाती है जिसमें कॉलम id . हैं और val . इसे union all . के साथ मर्ज किए गए दो चयनों के परिणाम के रूप में परिभाषित किया गया है ।

पहले select रूट हो जाता है (where id = :selectedid )।

दूसरा select पिछले परिणामों के बच्चों का पुनरावृत्त रूप से अनुसरण करता है जब तक कि लौटने के लिए कुछ भी न हो।

अंतिम परिणाम को सामान्य तालिका की तरह संसाधित किया जा सकता है। इस मामले में वैल कॉलम को सारांशित किया जाता है।



  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. PostgreSQL 11 को PostgreSQL 13 में TimescaleDB और Linux में PostGIS के साथ pg_upgrad का उपयोग करके अपग्रेड करना

  4. क्या सेलेक्ट टाइप क्वेश्चन ही एकमात्र प्रकार है जिसे नेस्ट किया जा सकता है?

  5. PostgreSQL क्वेरी कैसे लॉग करें?