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
   | SQL> with employer as (
  2       select 1 as emp, 1 as mgr from dual union all
  3       select 2 as emp, 1 as mgr from dual union all
  4       select 3 as emp, 1 as mgr from dual union all
  5       select 4 as emp, 3 as mgr from dual union all
  6       select 5 as emp, 4 as mgr from dual union all
  7       select 6 as emp, 4 as mgr from dual union all
  8       select 12 as emp, 12 as mgr from dual union all
  9       select 15 as emp, 12 as mgr from dual union all
 10       select 14 as emp, 12 as mgr from dual union all
 11       select 16 as emp, 15 as mgr from dual
 12       ),
 13  livraison as (select 1 as id, 1 as mgr from dual)
 14  SELECT emp,mgr
 15  FROM employer
 16  start WITH emp in (select distinct mgr from livraison)
 17  connect BY nocycle  mgr = prior emp;
 
       EMP        MGR
---------- ----------
         1          1
         2          1
         3          1
         4          3
         5          4
         6          4
 
6 ligne(s) sÚlectionnÚe(s). | 
Partager