Bonjour.

Parmi les nombreux posts sur les requêtes hiérarchiques, je n'ai pas trouvé un cas similaire au mien. En effet, j'ai une table contenant toutes les relations entre un père et tous ses descendants, y compris lui-même.
Et j'aimerais afficher une arborescence classique.

Prenons cet arbre pour exemple (l'arbre que j'aimerais afficher):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
A
--A1
----A11
------A111
------A112
----A12
----A13
--A2
----A21
----A22
------A221
Voici ce que j'ai en base pour le schéma ci-dessus:
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
WITH t AS (
          SELECT 'A' PARENT, 'A' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A1' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A2' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A11' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A12' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A13' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A21' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A22' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A111' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A112' enfant FROM dual
UNION ALL SELECT 'A' PARENT, 'A221' enfant FROM dual
UNION ALL SELECT 'A1' PARENT, 'A1' enfant FROM dual
UNION ALL SELECT 'A1' PARENT, 'A11' enfant FROM dual
UNION ALL SELECT 'A1' PARENT, 'A12' enfant FROM dual
UNION ALL SELECT 'A1' PARENT, 'A13' enfant FROM dual
UNION ALL SELECT 'A1' PARENT, 'A111' enfant FROM dual
UNION ALL SELECT 'A1' PARENT, 'A112' enfant FROM dual
UNION ALL SELECT 'A2' PARENT, 'A2' enfant FROM dual
UNION ALL SELECT 'A2' PARENT, 'A21' enfant FROM dual
UNION ALL SELECT 'A2' PARENT, 'A22' enfant FROM dual
UNION ALL SELECT 'A2' PARENT, 'A221' enfant FROM dual
UNION ALL SELECT 'A11' PARENT, 'A11' enfant FROM dual
UNION ALL SELECT 'A11' PARENT, 'A111' enfant FROM dual
UNION ALL SELECT 'A11' PARENT, 'A112' enfant FROM dual
UNION ALL SELECT 'A12' PARENT, 'A12' enfant FROM dual
UNION ALL SELECT 'A13' PARENT, 'A13' enfant FROM dual
UNION ALL SELECT 'A21' PARENT, 'A21' enfant FROM dual
UNION ALL SELECT 'A22' PARENT, 'A22' enfant FROM dual
UNION ALL SELECT 'A22' PARENT, 'A221' enfant FROM dual
UNION ALL SELECT 'A111' PARENT, 'A111' enfant FROM dual
UNION ALL SELECT 'A112' PARENT, 'A112' enfant FROM dual
UNION ALL SELECT 'A221' PARENT, 'A221' enfant FROM dual
)
J'ai bien essayé avec un connect by prior et un SYS_CONNECT_BY_PATH mais il y a toujours un truc qui coince.

Merci pour votre aide.