以下のOracle階層クエリをpostgresqlに変換したい
SELECT catalog_id, sub_tree_id
FROM my_catalog
CONNECT BY PRIOR catalog_id = sub_tree_id;
次のpostgresqlクエリを使用してみましたが、期待した結果が得られません
WITH RECURSIVE q AS (
SELECT po.catalog_id,po.sub_tree_id
FROM my_catalog po
UNION ALL
SELECT po.catalog_id,po.sub_tree_id
FROM my_catalog po
JOIN q ON q.catalog_id=po.sub_tree_id
)
SELECT * FROM q;
オラクルの出力(期待される結果)
POSTGRESQL の出力 (実際の結果)