親製品とそのすべての子製品を選択しようとしています。もしあなたが望むなら、部品表(BOM)を爆発させてください。これは十分に単純な作業でなければなりませんが、期待した結果が得られません。Oracle CONNECT BY - 最初のレベルの項目のみを返す
SELECT LEVEL,
serial_no,
part_no
FROM ifsapp.part_serial_catalog_tab
START WITH serial_no = 'Serial1'
AND part_no = 'ParentPart'
CONNECT BY PRIOR serial_no = superior_serial_no
AND part_no = superior_part_no;
私は以下の結果を参照するために期待される:
1 Serial1 ParentPart
2 Serial1 ChildPart1
2 Serial2 ChildPart2
..howeverを、私は最初の行だけ(親)を返さ取得しています。
注:このテーブルには、part_no/serial_noの複合キーがあります。この例からわかるように、親は通常、子の1つからserial_noを継承します。これらの問題のどちらかが問題を複雑にするはずだが、明らかに何かが間違っているかどうかはわかりません。
クエリが完全な階層をドリルダウンしないのはなぜですか?
私はそれを削除すると、実際の親部分と、同じserial_no: '1 Serial1 ParentPart'と' 1 Serial1 ChildPart1'を共有する子部分の2つのレベル1項目を取得します。 – CJM
ありがとう、私はそれを取得します。あなたの最初のクエリと2番目のクエリの違いを見つけるために時間をかけました。 2番目の先行キーワードが見つからなかった... – Rene
np ...私のためにそれに亀裂があるためにありがとう。 – CJM