Bonjour,
je me heurte à un problème de construction de tables, partant simple et courrant :
J'ai une base mysql contenant :
* une table offres
* une table vehicules
* une table options
puis des tables faisant la liaisons entre la table offres et les autres :
* une table liaisons_offres_vehicules
* une table liaisons_offres_options
j'ai organisé ma base ainsi parce qu'il peut y avoir plusieurs véhicules et options par offre.
Maintenant je bloque au niveau de ma requete....
J'aimerai avoir la liste de mes offres, les infos des véhicules et des options par offre en le moins de requetes possibles...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT o.* FROM vehicules v LEFT OUTER JOIN liaisons_offres_vehicules lov ON lov.id_vehicule = v.id LEFT OUTER JOIN offres o ON o.id = lov.id_offre LEFT OUTER JOIN liaisons_offres_options loo ON loo.id_offre = o.id LEFT OUTER JOIN options op ON loo.id_option = op.id WHERE v.marque LIKE 'pigeot' ORDER BY o.prix ASC
Bien évidement, cette requete me retourne plus de lignes que d'offres...
En gros, là je suis perdu.
Donc : Comment feriez-vous pour que, pour chaque offre, vous ayez toutes les options et tous les véhicules ?
Ce problème me parait assez classique .... quel schéma adopter ?
Merci pour votre aide, bonne journée.
Clem
Partager