1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
   |  
create table t (sup int,no int,typ varchar(5));
insert into t values (0,1,'A');
insert into t values (1,2,'B');
insert into t values (1,3,'XF');
insert into t values (2,4,'XF');
insert into t values (3,5,'Z');
insert into t values (4,6,'Z');
insert into t values (2,7,'Z');
 
 
 
SQL> select * from t;
 
       SUP         NO TYP
---------- ---------- -----
         0          1 A
         1          2 B
         1          3 XF
         2          4 XF
         3          5 Z
         4          6 Z
         2          7 Z
 
7 ligne(s) s�lectionn�e(s).
 
SQL> select no,sup,typ
from t
start with no in (select no from t where typ='XF')
connect by prior no=sup  2    3    4  ;
 
        NO        SUP TYP
---------- ---------- -----
         3          1 XF
         5          3 Z
         4          2 XF
         6          4 Z | 
Partager