Toto řešení můžete použít. Získáte tak všechny produkty, které obsahují VŠECHNY klíčová slova 1, 23 a 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
Kde 3
je počet položek ve vašem WHERE IN
seznam, takže je můžete upravit podle množství značek, které chcete zkontrolovat.