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

कैसे एसक्यूएल पदानुक्रम पर ग्रैंड पैरेंट दिखाने के लिए?

आप सही रास्ते पर हैं। इसका उपयोग करने पर विचार करें:

with recursive tree as (
  select id, 
         parent_id, 
         array[id] as all_parents,
         name as parent_name
  from hierarchy
  where parent_id = 0
  union all 
  select c.id, 
         p.parent_id,
         p.all_parents,
         p.parent_name 
  from hierarchy c
     join tree p
      on c.parent_id = p.id 
     and c.id <> all (p.all_parents) 
)
select id, parent_id, parent_name
  from tree;

डेमो




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:पोस्टग्रेएसक्यूएल डेटाबेस में टेबल की अधिकतम संख्या क्या स्टोर कर सकती है?

  2. एसक्यूएल इंजेक्शन को रोकने के लिए पैरामीटरयुक्त एसक्यूएल क्वेरी कैसे लिखें?

  3. Postgres . में टकराने का उद्देश्य

  4. मैं कैसे एक PostgreSQL तालिका बदल सकता हूँ और एक स्तंभ अद्वितीय बना सकता हूँ?

  5. जाँच कर रहा है कि क्या अजगर के तहत एक पोस्टग्रेस्क्ल टेबल मौजूद है (और शायद Psycopg2)