Bonjour,

je suis en train d'essayer de construire une requête sql pour créer une hierarchie (5 niveaux)
les données sont dans une table avec "Code Parent" , "Code enfant" et un niveau.

J'ai fait la requête suivante :

select
H3.ParentLabel as NIVEAU0,
H2.ParentLabel as NIVEAU1,
H1.ParentLabel as NIVEAU2,
H.ParentLabel as NIVEAU3 ,
H.ChildLabel AS NIVEAU4
from Dim_Hierarchies H
left OUTER JOIN Dim_Hierarchies H1
ON H.ParentId = H1.ChildId
and H.ParentCode = H1.ChildCode
LEFT OUTER JOIN Dim_Hierarchies H2
ON H1.ParentId = H2.ChildId
and H1.ParentCode = H2.ChildCode
LEFT OUTER JOIN Dim_Hierarchies H3
ON H2.ParentId = H3.ChildId
and H2.ParentCode = H3.ChildCode

Celle-ci me retourne bien les lignes avec les 5 niveaux quand tout est renseigné mais il y a des lignes ou il n'y a que 2 ou 3 niveaux renseignés et les niveaux supérieurs sont NULL alors que je veux que ces informations remontent d'un ou plusieurs niveaux.

Résultat de ma requête:
niv 0 niv1 niv2 Niv3 Niv4

NULL NULL NULL AAA Other t
NULL NULL NULL BBB Dev eco
NULL NULL AAA Dev eco yyyy
NULL AAA Dev eco yyyy ZZZZ
AAA Dev eco Dev eco1 Dev eco3 XXXX

Ce que je cherche à obtenir c que le niveau 3 et 4 de ma première ligne soit au niveau 0 et 1 car il n'y a pas de hierarchie en dessous et pareil pour la ligne 2, 3 et 4

merci