[pgsql-jp: 34486] 再帰構造からPATHの生成について
Tsugawa
tsugawa @ just-web.co.jp
2004年 12月 15日 (水) 11:39:08 JST
こんにちは、津川と申します。
本MLでは大変勉強させて頂いており、有難う御座います。
過去ログなども参照させて戴きましたが、苦戦しており
投稿させていただくしだいで御座います。
何か、ヒントでも結構ですのでご教授いただければ幸いです。
******内容
PostgreSQL 7.3.4
Red Hat 9
m_bom という部品表テーブルがあります。
prod_code は部品マスタテーブル内で一意な物になっておりますが
部品表テーブル(m_bom)では親(bom_code)が違えば、何回でも登録できます。
これらを再帰的に結合する関数は、「シーラカンス第4 版」のサンプルにて作成で
き、
子部品や子製品を結合した問い合わせができるようになりました。
*******コードを勝手に書くと申し訳ないので省略します。 P225 参照下さい。
仮に
prod_code = 10076
で参照した結果の例です。
prod_code | bom_code
-----------+----------
146 | 10076 |
10065 | 10076 |
121 | 10065 |
10037 | 10065 |
64 | 10037 |
10001 | 10076 |
1 | 10001 |
この結果をPATHのように
upper_path | path
\10076 | \10076\146
\10076 | \10076\10065
\10076\10065 | \10076\10065\121
\10076\10065 | \10076\10065\10037
\10076\10065\10037\ | \10076\10065\10037\64
\10076 | \10076\10001
\10076\10001 | \10076\10001\1
などという結果を取得したいのですが、うまく出来ません。
関数は、PL/pgsqlで作成しました。
よろしくお願いします。
pgsql-jp メーリングリストの案内