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

मैं एसक्यूएल में रिकर्सिव का उपयोग करके नया कॉलम वापस करना चाहता हूं?

यह RECURSIVE के साथ का एक प्रामाणिक उदाहरण है

इसे आजमाएं:

with recursive subordinates as
  (select 
      employeid, 
      e.managerid, 
      e.managerid as leader 
   from employes e 
   where e.managerid in(select * from leaders) -- non recursive term
   union 
   select 
      e.employeid, 
      e.managerid, 
      a.managerid as leader 
    from employes e 
          join subordinates a on a.employeid = e.managerid -- recursive term
) select * from subordinates

जैसा कि दस्तावेज़ीकरण में वर्णित है:

पुनरावर्ती के साथ हमेशा

. द्वारा रचित होता है
  1. एक गैर-पुनरावर्ती शब्द
  2. यूनियन या सभी को यूनियन करें
  3. एक पुनरावर्ती शब्द, केवल वही जो क्वेरी आउटपुट को संदर्भित कर सकता है

जब पिछली पुनरावृत्ति का कोई आउटपुट नहीं होता है, तो पुनरावृत्ति समाप्त हो जाती है।




  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. तारीखों के क्रम के आधार पर रैंक

  4. नया असाइन किया गया अनुक्रम काम नहीं कर रहा है

  5. Postgresql डेटाबेस में एक छवि डालें