[PL-SQL] Organisation Hierarchique et interdépendance
Bonjour à tous,
Imaginons une table :
Code:
1 2 3
| ESSAI
CHAMPS1 VARCHAR(50)
CHAMPS2 VARCHAR(50) |
Qui contiendrait :
Code:
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| D1 NULL
D2 NULL
D2 D3
D2 D5
D2 D6
D2 D7
D2 D8
D2 D9
D3 NULL
D4 NULL
D4 D1
D4 D4
D4 D10
D4 D13
D4 D14
D4 D15
D4 D16
D4 D17
D4 D9
D10 NULL
D10 D12
D11 NULL
D12 NULL
D12 D18
D13 NULL
D13 D13
D5 NULL
D5 D1
D5 D10
D5 D13
D5 D5
D5 D20
D5 D15
D5 D16
D19 NULL
D19 D6
D14 NULL
D20 NULL
D21 NULL
D15 NULL
D6 NULL
D7 NULL
D8 NULL
D22 NULL
D22 D5
D22 D21
D22 D23
D23 NULL
D23 D10
D23 D16
D16 NULL
D17 NULL
D17 D24
D18 NULL
D25 NULL
D25 D10
D25 D6
D25 D16
D25 D9
D9 NULL
D24 NULL |
CHAMPS1 comporte un nom, CHAMPS2 comporte le nom hiérarchique lié.
Je cherche à hiérarchiser sans interdépendance ces données ... EN SQL pur ou PL/SQL ...
Ceci afin de récupérer ou d'alimenter une table
Code:
1 2 3
| ESSAI2
CHAMPS1 VARCHAR(50)
ORDRE INT |
Qui me classerait par le champs ordre (de 1 à 25 dans l'exemple) les noms présents dans CHAMPS 1 (distinct de l'autre table) sans interdépendance ...
Par exemple D1 peut être traiter en ordre 1 car dépendant de rien
mais D2 doit être traité après D3,D5,D6,D7,D8,D9 qui eux même doivent être traités ... Donc cela devrait faire au final un classement ...
Est ce assez clair ?
Si l'on veut on peut enlever ceux qui sont interdépendants eux mêmes (en rouge) des données pour simplifier ...