В моей базе данных две таблицы:
Продукты
- id (int, первичный ключ)
- имя (варчар)
ProductTags
- product_id (int)
- tag_id (int)
Я бы хотел выбрать товары со всеми заданными тегами. Я попробовал:
SELECT
*
FROM
Products
JOIN ProductTags ON Products.id = ProductTags.product_id
WHERE
ProductTags.tag_id IN (1, 2, 3)
GROUP BY
Products.id
Но это дает мне продукты, имеющие любой из указанных тегов, вместо того, чтобы иметь все заданные теги. Запись WHERE tag_id = 1 AND tag_id = 2
не имеет смысла, потому что строки не будут возвращены.