Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU
Publicité
Attn's blog

Requête Récursive

23 Octobre 2017 , Rédigé par Pam007 Publié dans #Sql

Une histoire de Composants/Composés...

create table piece(    
piece dec(5, 0) primary key,
libelle varchar(100));    

create table compo(                    
cpse dec(5, 0) not null references piece,        
cpsant dec (5, 0) not null references piece,            
note varchar(100),                    
constraint Compo_pas_doublon_cpse_cpsant unique(cpse, cpsant));  


with compo2 (niveau2, cpse2, cpsant2, note2) as            
(select 1 , cpse, cpsant, note from compo where cpse = 1    
union all                        
select niveau2 + 1 , cpse, cpsant, note                
from compo2 join compo on compo2.cpsant2 = cpse
where niveau2 < 9)
search depth first by cpsant2 set col
cycle cpse2 set boucle to '1' default '0'
select niveau2, cpse2, cpsant2 , note2, sant.libelle, se.libelle, boucle
from compo2 left join piece sant on  cpse2 = sant.piece 
left join piece se on  cpsant2 = se.piece
order by col;

 

"NIV2"  "CPSE2"    "CPSANT2"    "LIBELLE"     "LIBELLE"    "BOUCLE"
 1        1         4            "velo"        "cadre"      "0"
 2        4         8            "cadre"       "selle"      "0"
 2        4         5            "cadre"       "fourche"    "0"
 2        4         6            "cadre"       "guidon"     "0"
 3        6         7            "guidon"      "sonnette"   "0"
 2        4         12           "cadre"       "phare av"   "0"
 3        12        14           "phare av"    "ampoule"    "0"
 2        4         13           "cadre"       "phare ar"   "0"
 3        13        14           "phare ar"    "ampoule"    "0"
 1        1         2            "velo"        "roue av"    "0"
 2        2         10           "roue avant"  "jante"      "0"
 2        2         11           "roue avant"  "pneu"       "0"
 1        1         3            "velo"        "roue ar"    "0"
 2        3         10           "roue ar"     "jante"      "0"
 2        3         11            "roue ar"    "pneu"       "0"

 

Publicité
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article