Bonjour à tous,
J'ai les 2 tables suivantes:
- "GENERATIONS" contenant (entre autres) 3 colonnes "GEN_ID", "GEN_LIBELLE" et "GEN_NUM".
-"MEMBRES" contenant (entre autres) les 5 colonnes "MBR_ID","MBR_LIBELLE","MBR_PERE" (MBR_ID du "père" du membre en question),"MBR_PRINC"(booleen) et "MBR_SUPPR" (booleen)
Avec ces tables (et d'autres) je gère une arborescence de n niveau grâce à la relation parent/enfant => en fait je dois "nourrir" un "treeview"![]()
En fait je cherche la requête SELECT pour me permettre de créer ce treeview.
J'avais essayer ça, en sachant que ça ne marcherait pas : Voici le résultat de la requête suivante sur deux tables (dbo.GENERATIONS et dbo.MEMBRES) :
SELECT dbo.GENERATIONS.GEN_ID,
dbo.GENERATIONS.LIB_GEN, /*ne pas faire attention à cette colonne
dbo.GENERATIONS.GEN_NUM,
dbo.MEMBRES.MBR_ID,
dbo.MEMBRES.MBR_LIBELLE,
dbo.MEMBRES.MBR_PERE,
dbo.MEMBRES.MBR_HIER_TYP,
dbo.MEMBRES.MBR_SUPPR
FROM dbo.GENERATIONS,dbo.MEMBRES
WHERE dbo.GENERATIONS.GEN_ID=dbo.MEMBRES.GEN_ID
AND dbo.GENERATIONS.AXE_ID='A1'
ORDER BY MBR_PERE;
Ca m'a donc donné ceci :
G1A1 Axe_T 1 MB1 AXE_TARIF NULL 0 0
G2A1 Hier_T 2 MB22 Hier_P MB1 0 0
G4A1 Gamme_T 4 MBN Gam_TDR MB2 0 1
G4A1 Gamme_T 4 MBS3 Gam_T5 MB2 0 1
G3A1 BU_T 3 MB2B BU_TF MB22 0 1
G3A1 BU_T 3 MB2E BU_TC MB22 0 1
G3A1 BU_T 3 MB2 BU_TK MB22 0 1
G4A1 Gamme_T 4 MBT3 Gam_T8 MB2B 0 1
G4A1 Gamme_T 4 MBG3 Gam_T2 MB2B 0 1
G4A1 Gamme_T 4 MBH PB_Gam MB2E 0 1
G5A1 Tarif 5 MBT5 Trf_P MBG3 0 1
G5A1 Tarif 5 MB5RX Tarif_BB MBH 0 1
G5A1 Tarif 5 MBB Tarif_B MBN 0 1
G5A1 Tarif 5 MBT4 K7_Tarif MBN 0 1
G5A1 Tarif 5 MBBB TrfKK MBS3 0 1
G5A1 Tarif 5 MB4Z Tarif_K7 MBT3 0 1
G5A1 Tarif 5 MB01 Trif_H MBT3 0 1
En fait, je ne sais pas comment faire le tri suivant : il ya une notion de père et fils (par ex, HIER_P est fils unique de Axe_T, et BU_TC, BU_TK et BU_TF sont des enfants de HIER_P, et ils ont eux mêmes des enfants) dans la 5ème colonne on trouve le nom du père.
Je voudrais les trier par GEN_NUM mais en arbre en fonction des relations pères fils, ce qui (au niveau Gen_num) devrait donner quelquechose comme ça :
1Axe_T
2HIER_P
3BU_TK
4MB2B
5Trf...
5Trf...
4MB...
3BU_TC
4MB...
5Trf...
4etc...
5etc...
5
J'espère avoir été assez clair dans mes explications. Est ce que quelqu'un pourrait m'aider ?
Merci d'avance pour votre aide,
Bien Cordialement
Partager