MySQL выберите соединение, где И где

У меня в базе данных две таблицы:

Products

  • id (int, primary key)
  • name (varchar)

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 бессмысленно, потому что строки не будут возвращены.

13
задан mitkosoft 7 April 2016 в 12:34
поделиться