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

रिकर्सिव चयन क्वेरी मनमानी गहराई की दरों को वापस करने के लिए?

यह वही हो सकता है जिसे आप ढूंढ रहे हैं, आपके विवरण के अनुसार:

WITH RECURSIVE cte AS (
   SELECT id, parent_rate_plan_id
   FROM   rate_plan  
   WHERE  id = ${user rate plan ID} 

   UNION ALL
   SELECT rp.id, rp.parent_rate_plan_id
   FROM   cte
   JOIN   rate_plan rp ON rp.id = cte.parent_rate_plan_id
   )
SELECT *
FROM   cte
JOIN   rate r ON r.rate_plan_id = cte.id
ODER   BY length(prefix) DESC
LIMIT  1;

जैसे ही शीर्ष नोड (parent_rate_plan_id IS NULL . होता है, रिकर्सन अपने आप रुक जाता है ) पहुंच गया है।

rate . में शामिल होना अधिक प्रभावी है एक बार जब आप सभी योजनाओं को एकत्र कर लेते हैं।

मैनुअल ऑन (रिकर्सिव) सीटीई।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पुर्तगाली डेटाबेस पर npgsql के साथ कुछ पंक्तियों का चयन नहीं कर सकता

  2. PostgreSQL में दी गई तालिका के लिए सभी ट्रिगर सूचीबद्ध करने के 3 तरीके

  3. पोस्टग्रेएसक्यूएल सम्मेलन यूरोप 2018 में मैंने सीखी पांच अच्छी बातें

  4. क्या PostgreSQL सरणी को शामिल होने के लिए अनुकूलित किया जा सकता है?

  5. ऑनलाइन अपग्रेड पर प्रगति