[pgsql-jp: 25158] 親子関係をSELECTする

Kenji Ono ono @ fjct.fujitsu.com
2002年 3月 8日 (金) 15:57:08 JST


小野といいます。

環境
・DB:PostgreSQL7.1.3
・OS:RedHat7.1
・Web:Apache1.3.22
・その他:PHP3.0.18

現在、階層付けされたデータの表示で頭を悩ませております。

データの登録内容
・A001
 └A001-01
 |└A001-01-01
  |  └A001-01-01-01
 └A001-02

Create table eqt_node (
  i_node         char(8) , // 元コード
  i_prnt_node_cd char(8)   // 親コード
) ;

このような時、親子関係でSELECTするにはどのようにしたら良いので
しょうか。

Oracle君の場合は、以下のような感じですむのですが・・・。
SELECT * 
  FROM eqt_node
 START WITH i_node =1
       CONNECT BY PRIOR i_prnt_node_cd = i_node ;

PostgreSQLで実行するとQueryErrorになります。

期待する結果は、データ
A001〜A001-01-01-01までが抽出できること。

宜しくお願いします。



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