Oracle階層クエリについて質問があります。
unit1が親で、unit2が子である、相互に関連するユニットの関係テーブルがあるとします。
IDUNIT1UNIT2その他の列
------大量のデータ--------
1つのユニットを見ていると仮定します。次に、他のユニットとの関係についての完全なグラフ/ツリーが必要です。
互いに接続されている親と子を取得するのは簡単です。
INSERT INTO search_table
SELECT id
FROM mytable
START WITH unit_id1 = 12 (or any random unit id)
CONNECT BY nocycle PRIOR unit_id2 = unit_id1
GROUP BY id;
これは上に移動するためのものであり、同様に下に移動するためのものです。たとえば、1ステップ上に移動すると、そのユニットの子ユニットは検索されず、親のみが検索されます。したがって、基本的に、親ユニットに別の子(私たちが探している子ではない)がある場合、構文は親のみを探し続けるため、それに到達することはできません。そして後でそれは子供だけを探しますが、これら2つを組み合わせたものは探しません。
各子または親ユニットについて、親と子の両方を検索できる方法はありますか?