Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql n:m-Beziehung:Finden Sie Zeilen mit mehreren spezifischen Beziehungen

Sie können diese Lösung verwenden. Dadurch werden alle Produkte abgerufen, die ALLE enthalten Schlüsselwörter 1, 23 und 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

Wobei 3 ist die Anzahl der Artikel in Ihrem WHERE IN Liste, sodass Sie die Anzahl der Tags, die Sie überprüfen möchten, entsprechend anpassen können.