SQL階層問い合わせではconnect句で複数条件を指定することが可能です。

SQL> select * from t2;

        ID        SEQ
---------- ----------
         1          1
         1          2
         1          3
         3          1
         4          1
         4          3
         5          1
         5          2
         5          3

9行が選択されました。


上記のようなテーブルがあったとします。

SQL> select ID,Seq,Level
  2  from t2
  3  start with Seq = 1
  4  connect by prior ID = ID
  5  and prior Seq = Seq - 1;

        ID        SEQ      LEVEL
---------- ---------- ----------
         1          1          1
         1          2          2
         1          3          3
         3          1          1
         4          1          1
         5          1          1
         5          2          2
         5          3          3

8行が選択されました。

「start with Seq = 1」はSeq=1の列が親になります。
connect byに一つ目の条件「prior ID = ID」ではIDが一致する場合、
なおかつ二つ目の条件「Seq = Seq - 1」はSeqの差が1の場合、親子関係が成立します。

さらにstart with句を省略することも可能です。
この場合、全ての列が親になります。

SQL> select * from t3;

       VAL
----------
         1
         2
         3
         4
         5


上記のような列があったとします。

select Val,Level,
sys_connect_by_path(to_char(Val),',') as Path
from t3
connect by prior Val = Val - 1;

       VAL      LEVEL PATH
---------- ---------- ----------
         1          1 ,1
         2          2 ,1,2
         3          3 ,1,2,3
         4          4 ,1,2,3,4
         5          5 ,1,2,3,4,5
         2          1 ,2
         3          2 ,2,3
         4          3 ,2,3,4
         5          4 ,2,3,4,5
         3          1 ,3
         4          2 ,3,4

       VAL      LEVEL PATH
---------- ---------- ----------
         5          3 ,3,4,5
         4          1 ,4
         5          2 ,4,5
         5          1 ,5

15行が選択されました。


「connect by prior Val = Val - 1;」でValの差が1の場合に親子関係を結びます。
なお、sys_connect_by_pathでは親にたどり着くまでのパスを表示することが出来ます。