[pgsql-jp: 33910] 階層問い合わせ

Shigeru Matsumoto matsumoto @ zsd.co.jp
2004年 8月 24日 (火) 15:42:11 JST


いつも参考にさせて頂いております。

オラクルからの移行を行おうと色々調べているのですが
1つのテーブルに含まれる階層構造をCONNECT BYという
オラクル特有(?)のSQLで階層構造順に一度のSELECT文で取得する物を
Postgreに移行するにはどの様な方法が考えられるでしょうか?

オラクルのマニュアルからの引用ですが
SELECT employee_id, last_name, manager_id, LEVEL
FROM employees
CONNECT BY PRIOR employee_id = manager_id;
この様なSQLで以下の様な結果を得る事ができます

EMPLOYEE_ID LAST_NAME MANAGER_ID LEVEL
101 Kochhar 100 1
108 Greenberg 101 2
109 Faviet 108 3
110 Chen 108 3
111 Sciarra 108 3
112 Urman 108 3
113 Popp 108 3

1つのテーブルでダメなら親子関係を記録したテーブル等に2つに分けて
Joinしてと考えていたのですが子供のさらに子供を捜す様な再起的なSQLに
なってしまうので出来ないのかなと試行錯誤しております。

何か良い案があればご教授下さい。
よろしくお願いします

松本




pgsql-jp メーリングリストの案内