Problème de récursivité : relation père fils multiple
Bonjour,
J'ai lu le cours de Frédéric BROUARD http://sqlpro.developpez.com/cours/s...te-recursives/ mais je n'ai pas pu répondre à mon besoin qui est le suivant :
j'ai un table process qui contient : Master_BP, Parent_BP, Current_BP, BP_NAME, BP_START_DATE
on peut avoir plusieurs niveau de relation pere fils, example de données :
Citation:
Parent_BP, Current_BP, BP_NAME
, 1 , Parent1
1 , 11 , BP11
11 , 111 , BP111
, 2 , Parent2
2 , 22 , BP22
22 , 222 , BP222
Résultat à afficher :
Citation:
Parent1
BP11
BP111
Parent2
BP22
BP222
Requete CTE SQL :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
WITH tree (PARENT_BP_UUID,CURRENT_BP_UUID,BP_ID,BP_NAME, Level)
AS
(
-- Anchor member definition
SELECT PARENT_BP_UUID, CURRENT_BP_UUID, BP_ID, BP_NAME, 0
FROM PO_TRACKING_BP
WHERE PARENT_BP_UUID=''
UNION ALL
-- Recursive member definition
SELECT v.PARENT_BP_UUID, v.CURRENT_BP_UUID, v.BP_ID, v.BP_NAME, t.Level + 1
FROM PO_TRACKING_BP AS v
INNER JOIN tree AS t ON t.CURRENT_BP_UUID = v.PARENT_BP_UUID
)
SELECT BP_NAME,PARENT_BP_UUID,CURRENT_BP_UUID,BP_ID, Level
FROM tree |
Resultat obtenu:
Citation:
Parent_BP, Current_BP, BP_NAME
, 1 , Parent1
, 2 , Parent2
1 , 11 , BP11
11 , 111 , BP111
2 , 22 , BP22
22 , 222 , BP222
Souhaité :
Citation:
Parent_BP, Current_BP, BP_NAME
, 1 , Parent1
1 , 11 , BP11
11 , 111 , BP111
, 2 , Parent2
2 , 22 , BP22
22 , 222 , BP222
Pouvez vous svp m'aider à afficher l'arbre de chaque Parent, à la suite : arbre parent1, puis arbre parent2, etc
Merci de votre aide