- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:階層問い合わせ?親子展開したVIEWを作りたい)
階層問い合わせ?親子展開したVIEWを作成したい
このQ&Aのポイント
- 親子のデータを展開したVIEWを作成したいのですが、階層問い合わせというものがあるということまで分かりました。
- SQLを以下のように記述してみたのですが、思惑とは若干違います。最上位の親を表示したいのですが、どのようなSQLにすれば可能でしょうか。
- 希望する結果を得るためには、レベルを指定して親子関係を辿る方法を使用する必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
connect_by_root演算子で最上位の値を取得できます。 SELECT CASE WHEN LEVEL = 1 THEN OYACD ELSE CONNECT_BY_ROOT KOCD END OYACD ,KOCD FROM TBL1 START WITH OYACD = 0 CONNECT BY PRIOR KOCD = OYACD; としてみてください。 最上位の場合はOYACDをそのまま出力するようにするために、LEVELを使って判断しています。 すでに読んでいらっしゃるかもしれませんが、こちらが分かりやすく解説してくれていると思います。 http://codezine.jp/article/corner/301
お礼
さっそくの回答どうもありがとうございます。 教えていただいた方法で思惑のデータを参照することができました。 とても助かりました。ありがとうございました。