Mysql
 sql >> Base de données >  >> RDS >> Mysql

Produits de recherche MySQL avec leurs attributs

Vous devez vous joindre à product_filters séparément pour chaque attribut :

SELECT DISTINCT products.*  
FROM products
JOIN product_filters AS f1 ON f1.product_id=products.id
JOIN product_filters AS f2 ON f2.product_id=products.id
WHERE ( f1.attribute_id=1 and f1.filter_id in (1,2) )
AND ( f2.attribute_id=3 and f2.filter_id in (6) )

DEMO

Votre version a essayé de trouver une seule ligne dans product_filters qui a les deux ID d'attribut, ce qui n'est pas possible.