Bonjour.
SVP, j’ai besoin d’aide pour finir une requête SQL.
Je veux laisser la possibilité aux visiteurs d’un site E-commerce de pouvoir filtrer les produits qui sont en vente par plusieurs catégories (avec des cases à cocher).
J’ai 3 tables :
_products (contient les produits qui sont en vente).
_productscategories (contient les catégories de produits).
_product_productcategory (est la table pivot pour faire la relation entre les 2 tables précédentes. A comme colonnes : "product_id" et "productcategory_id").
Pour filtrer les produits par une seule catégorie, je sais faire. ça donne ceci comme requête SQL à faire :
1 2 3 4 5 6 7 | SELECT products.* FROM `products` INNER JOIN `product_productcategory` ON `products`.`id` = `product_productcategory`.`product_id` INNER JOIN `productscategories` ON `productscategories`.`id` = `product_productcategory`.`productcategory_id` WHERE `productscategories`.`slug` = 'slug-category-filter' |
Mais pour filtrer par plusieurs catégories (que les produits soient joints à toute les catégories cochées), je ne sais pas faire.
Quelqu’un pourrai m’aider SVP ?
(On m’avais dit il y a longtemps qu’on pouvais y faire avec GROUP BY et HAVING, mais je ne m’en rapelle plus trop).
Merci d’avance.