sql >> Databasteknik >  >> RDS >> PostgreSQL

Vad är motsvarande PostgreSQL-syntax till Oracles CONNECT BY ... BÖRJA MED?

Använd en RECURSIVE CTE i Postgres:

WITH RECURSIVE cte AS (
   SELECT key, value, 1 AS level
   FROM   taxonomy
   WHERE  key = 0

   UNION  ALL
   SELECT t.key, t.value, c.level + 1
   FROM   cte      c
   JOIN   taxonomy t ON t.taxHier = c.key
   )
SELECT value
FROM   cte
ORDER  BY level;

Detaljer och länkar till dokumentation i mitt tidigare svar:

  • Har PostgreSQL en pseudo-kolumn som "LEVEL" i Oracle?


  1. hur man beräknar likhet mellan två strängar i MYSQL

  2. Se semester med datamodellerarens ögon

  3. Bästa metoder:Underhålls- och förbättringsuppgifter för Oracle Cloud

  4. Hur man infogar i Array i PostgreSQL