Bonjour,
Ça fait maintenant plusieurs heures que je me prends la tête pour écrire une requête SQL utilisant de multiples jointures.
Voici le design de ma base de données:
_VOITURE___________PIECE_______________MOTEUR
+--------+_______+-----------+_______+----------------+
|.ID........|_______|.ID............|_______|.ID...................|
|.Couleur.|_______|.Parent_ID..|_______|.Parent_ID.........|
+--------+_______|.Name........|_______|.Type...............|
________________+-----------+_______+----------------+
Évidemment, une voiture est composée de pièces et de moteur (au moins un).
Le moteur est composé de pièces également.
Mon objectif: Ecrire une requête SQL me permettant de récupérer une table sous cette forme:
____VOITURE.ID_____MOTEUR.ID_______PIECE.NAME
+----------------+----------------+--------------------+
|...........1..........|.......NULL..........|.....Allume.cigare......|
|...........1..........|.......NULL..........|.....Phare.droit.........|
|...........1..........|.......NULL..........|.....Phare.gauche......|
|...........1..........|..........1............|.........Piston.1.........|
|...........1..........|..........1............|.........Piston.2.........|
|...........1..........|..........1............|.........Carter...........|
|...........1..........| ..........1............|.........Bielle.............|
|...........2...........|.......NULL.........|........Allume.cigare....|
|...........2...........|.......NULL.........|.........Phare.droit......|
+----------------+----------------+--------------------+
J'ai essayé avec des INNER JOIN mais sans succès:
Il n'y a aucune valeur null dans le champ MOTEUR.ID.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT VOITURE.ID, MOTEUR.ID, PIECE.NAME FROM VOITURE INNER JOIN MOTEUR ON MOTEUR.Parent_ID = VOITURE.ID INNER JOIN PIECE AS PIECE1 ON PIECE1.Parent_ID = VOITURE.ID INNER JOIN PIECE AS PIECE2 ON PIECE2.Parent_ID = MOTEUR.ID
Si vous avez des idées.....???
Merci
Partager