sql >> Database >  >> RDS >> PostgreSQL

Wat is de equivalente PostgreSQL-syntaxis voor CONNECT BY... START WITH van Oracle?

Gebruik een RECURSIVE CTE in 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;

Details en links naar documentatie in mijn vorige antwoord:

  • Heeft PostgreSQL een pseudo-kolom zoals "LEVEL" in Oracle?


  1. Laravel:Fout [PDOException]:Kan stuurprogramma niet vinden in PostgreSQL

  2. Handtekening opslaan in MySQL

  3. Databasefailover voor WordPress-websites

  4. Oracle SELECT TOP 10-records