Salut à tous,
Pour une application j’ai conçu une base de données (peut-être perfectible) et j’ai un petit soucis de jointure.
J’ai une table produit qui contient la liste de mes produits avec diverses informations. J’ai une table surface qui contient une liste de surface (tissu, cuir etc).
J’ai enfin une dernière table pour faire la liaison entre les deux que j’ai nommée produit_surface. Dedans j’ai un id_produit et un id_surface.
Je l’ai conçu comme ça car un produit peu avoir une ou plusieurs surfaces.
Mais au moment de récupérer mes données j’ai l’impression d’avoir loupé quelque chose. Avec mes jointures j’arrive à récupérer mes données mais ça ne me convient pas.
Je voudrais récupérer chaque produit une seule fois avec la liste des surfaces auxquels il correspond. Pour l’instant j’obtiens par exemple 3 fois le même produit si il correspond à 3 surfaces.
Voici ma requête :
1 2 3 4 | SELECT p.id, p.produit, p.prix, p.stock, p.description, p.image, s.surface, s.id AS id_surface FROM `surface` AS `s` RIGHT JOIN `produit_surface` AS `ps` ON ps.surface = s.id RIGHT JOIN `produit` AS `p` ON p.id = ps.produit |
J’ai bien peur que la conception de ma base de donnée soit à l’origine de mon problème. Avez vous une idée ? Merci d’avance