Bonjour,

J'ai un problème pour déterminer le père racine d’un composant :
Je vais vous donner un exemple pour expliquer mon problème.
J’ai une table NOMENCLATURE qui contient le code du COMPOSE et le CODE de COMPOSANT (un COMPOSE peut être un COMPOSANT d’un autre COMPOSE) :

composé1--> composé2 --> composant02
--> composant01.

Je veux déterminer le père racine du composant « COMPOSANT02 » qui serai « Composé1 ».
La requête ci-dessous me donne les deux pères « Composé1 » et « Composé2 ».
Mais mon besoin est de déterminer que le père racine « Composé1 ». Comment je peux le faire. Merci.

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
SELECT nome_arti_code_compose,
      Lpad(' ',(level-1)*2)||nome_arti_code_compose v_compose_decale,
      nome_ligne,
      nome_arti_code_composant,
      nome_coefficient,
      nome_indice,
      level,
      nome_debut_validite,
      nome_fin_validite
 
FROM  nomenclature
WHERE nome_debut_validite <= trunc(sysdate)
AND   NVL(nome_fin_validite, trunc(sysdate) ) >= trunc(sysdate)
START WITH nome_arti_code_composant = :composant
CONNECT BY
        PRIOR nome_arti_code_compose = nome_arti_code_composant
AND PRIOR nome_debut_validite   <= trunc(sysdate)
AND NVL(PRIOR nome_fin_validite, trunc(sysdate)) >= trunc(sysdate)