Requete hiérarchisée ORACLE
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:
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) |