bonjour,
je dois mettre en place un menu hierarchique, je me suis donc penche sur la redaction de la requete :
cette requete fonctionne bien puisqu'elle m'affiche les elements comme je le souhaite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 select LEVEL , dnod_id , lpad(' ',4*level-4)||dnod.title , dnod_id_parent , document_position from pns_document_relations join pns_document_nodes dnod on dnod_id = dnod.id start with dnod_id_parent = 0 connect by prior dnod_id = dnod_id_parent ORDER SIBLINGS BY document_position
seulement voila, je dois faire en sorte que dans mon menu certains elements se repetent a differents endroits, et c la que je coince a moitie parce que la requete ci dessus me renvoie bien les elements plusieurs fois mais seulement, elle me renvoie a chaque fois egalement les elements enfant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 LEVEL DNOD_ID LPAD('',4*LEVEL-4)||DNOD.TITLE ---------- ------- ------------------------------------------------------------- 1 1 DOC A 2 13 sousDocA 3 107 test4 3 105 test5 3 106 test6
comment pourrais je faire avec la requete que j'ai pour une lorsque les donnees sont reaffichees une deuxieme ou une troisieme fois il n'y ai que les "sousDoc" qui soient affiches? dois je faire plusieurs requete ou est ce que je peux faire tout cela avec une seule?
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 LEVEL DNOD_ID LPAD('',4*LEVEL-4)||DNOD.TITLE ---------- ------- ------------------------------------------------------------- 1 1 DOC A 2 13 sousDocA 3 107 test4 3 105 test5 3 106 test6 2 14 sousDocB 3 117 test1 3 115 test2 3 116 test3 et plus loin dans le menu : 1 25 DOC B 2 13 sousDocA 3 107 test4 3 105 test5 3 106 test6 2 14 sousDocB 3 117 test1 3 115 test2 3 116 test3 etc...
voici ma table relations :
j'espere ne pas avoir ete trop confus dans mes explications.
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 CREATE TABLE PNS_DOCUMENT_RELATIONS ( DNOD_ID NUMBER, DNOD_ID_PARENT NUMBER, DOCUMENT_POSITION VARCHAR2(2 BYTE), ) Dnod_id | dnod_id_parent | Doc_position --------------------------------------- --------------------------------------- 13 | 1 | 1 --------------------------------------- 13 | 25 | 1 --------------------------------------- 14 | 1 | 2 --------------------------------------- 14 | 25 | 2 -------------------------------------- test1 | 13 | 1 --------------------------------------- test2 | 13 | 2 --------------------------------------- test3 | 13 | 3 --------------------------------------- test4 | 14 | 1 ---------------------------------------
merci d'avance pour votre aide
Partager