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

क्या PostgreSQL के पास Oracle में LEVEL जैसा छद्म-स्तंभ है?

Postgres में पदानुक्रम संबंधी क्वेरी नहीं हैं . नहीं CONNECT BY , इसलिए भी कोई LEVEL . नहीं है ।

अतिरिक्त मॉड्यूल टेबलफंक फ़ंक्शन प्रदान करता है connectby() लगभग वही कर रहा है। देखें:

या आप मानक recursive CTE के साथ समान कार्य कर सकते हैं और एक level कॉलम जो हर रिकर्सन के साथ बढ़ता है।
Oracle में यह क्वेरी:

SELECT employee_id, last_name, manager_id, LEVEL
FROM   employees
CONNECT BY PRIOR employee_id = manager_id;

.. इस पुनरावर्ती CTE में Postgres में अनुवाद किया जा सकता है:

WITH RECURSIVE cte AS (
   SELECT employee_id, last_name, manager_id, 1 AS level
   FROM   employees

   UNION  ALL
   SELECT e.employee_id, e.last_name, e.manager_id, c.level + 1
   FROM   cte c
   JOIN   employees e ON e.manager_id = c.employee_id
   )
SELECT *
FROM   cte;


  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. Postgresql - रेनंबर कॉलम

  3. क्या PostgreSQL फंक्शन ट्रांजेक्शनल हैं?

  4. डेटाबेस प्रदर्शन:कॉलम बनाम अलग तालिका पर फ़िल्टरिंग

  5. MacOS पर pg_dump का फ़ाइल आउटपुट कहाँ जाता है?