RECURSIVE CTE
を使用する 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;
以前の回答の詳細とドキュメントへのリンク:
- PostgreSQLにはOracleの「LEVEL」のような疑似列がありますか?