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

relation mysql n:m :trouver des lignes avec plusieurs relations spécifiques

Vous pouvez utiliser cette solution. Cela obtient tous les produits qui contiennent ALL mots-clés 1, 23 et 54 :

SELECT a.*
FROM products a
INNER JOIN product_tags b ON a.product_id = b.product_id
WHERE b.tag_id IN (1,23,54)
GROUP BY a.product_id
HAVING COUNT(1) = 3

3 est le nombre d'articles dans votre WHERE IN liste, afin que vous puissiez ajuster en conséquence en fonction du nombre de balises que vous souhaitez vérifier.