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 :

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 :

Parent1
BP11
BP111
Parent2
BP22
BP222
Requete CTE SQL :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:

Parent_BP, Current_BP, BP_NAME
, 1 , Parent1
, 2 , Parent2
1 , 11 , BP11
11 , 111 , BP111
2 , 22 , BP22
22 , 222 , BP222
Souhaité :

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