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

पोस्टग्रेज - पुनरावर्ती के साथ

सबसे पहले, आपका (2, 'grandparent', null) होना चाहिए (3, 'grandparent', null) अगर यह वास्तव में दादा-दादी है। दूसरे, आपकी (अंतर्निहित) आपकी क्वेरी के पुनरावर्ती आधे भाग में शामिल होने की स्थिति पीछे की ओर है, आप माता-पिता को rt.levelparent से बाहर निकालना चाहते हैं के बजाय t.parent_level :

WITH RECURSIVE recursetree(level_id, levelparent) AS (
    SELECT level_id, parent_level 
    FROM level 
    WHERE level_id = 197

    UNION ALL

    SELECT t.level_id, t.parent_level
    FROM level t JOIN recursetree rt ON rt.levelparent = t.level_id
    -- join condition fixed and ANSI-ified above
)
SELECT * FROM recursetree;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेएसक्यूएल pg_dump

  2. Postgres में समय अंतराल के लिए औसत मान कैसे प्राप्त करें

  3. ActiveRecord क्वेरी सीधे SQL से बहुत धीमी है?

  4. दौड़ की स्थिति से बचना, Django + Heroku + PostgreSQL

  5. यूयूआईडी की सरणी पर पोस्टग्रेएसक्यूएल जीआईएन इंडेक्स