Requête complexe (recursive inside)
Hello,
J’ai un petit souci pour sortir une requête et j’aimerais bien un petit coup de pouce :D
Ma base de données contient toutes les données nécessaires pour détailler l’architecture d’une structure.
Je prendrais l’exemple de la voiture comme structure dans ce post :
Voici ci-dessous les tables de ma base de données simplifié au maximum
Table de données pures
Section (ID, lieu) : section de la voiture (par exemple : partie avant, partie arrière)
Besoin (ID, reference) : besoin à remplir pour la voiture (par exemple : besoin de pneus)
Solution (ID, reference) : réponse au besoin contenu dans la table Besoin (par exemple : pneu pluie, pneu neige, etc.)
ConfigSolution (ID, reference) : configuration de la solution
Equipement (ID, reference) : sous-partie de la solution (par exemple : boulon de taille 14)
Assemblage (ID, reference) : assemblage d’équipements (par exemple boulons_14 représentent tous les boulons de taille 14 nécessaire pour une solution)
Tables de liens
Lien_Section_Besoin (ID, IDR_Section, IDR_Besoin)
Lien_Besoin_ConfigSolution (ID, IDR_Besoin, IDR_ConfigSolution)
Lien_ConfigSolution_Solution (ID, IDR_ConfigSolution, IDR_Solution)
Lien_Solution_Assemblage_Equipement (ID, IDR_Solution, IDR_Assemblage, IDR_Equipement)
Lien_Assemblage_Assemblage (ID, IDR_Parent, IDR_Fils)
But de la requête : afficher le détail de toutes les tables de données pures en faisant le lien depuis les sections jusqu’aux équipements.
Difficulté :aie: : les assemblages peuvent contenir d’autres assemblages de façon non quantifiable (i.e. : on peut avoir 1 assemblage lié à une solution comme avoir 1 assemblage lui-même contenant 1 assemblage lui-même contenant 1 assemblage etc. et chacun contenant des équipements)
Autres informations :
1 solution peut être liée directement à 0 ou X équipements
1 solution peut être liée directement à 0 ou X assemblages
1 assemblage peut être lié directement à 1 ou X équipements
1 assemblage peut être lié directement à 0 ou X assemblages
1 configSolution peut être liée directement à 1 solution
1 besoin peut être lié directement à 0 ou X configSolutions
1 section peut être lié directement à 1 ou X besoins
1 besoin peut être lié directement à 1 ou X sections
1 configSolution peut être lié à 1 ou X besoins
1 équipement peut être lié à 0 ou X solutions
1 équipement peut être lié à 0 ou X assemblages
1 assemblage peut être lié à 0 ou X solutions
SGBD : SQL Server 2008
Je suis partie sur les CTE (Common Table Expression) pour afficher tous les assemblages de manière récursive mais je galère à faire le CTE avec toutes les jointures pour remonter jusqu’à la section et pour descendre jusqu’aux équipements
Quelqu'un peut-il me filer un coup de main s'il vous plait ? :calim2::calim2::calim2: