データベースに2つのテーブルがあります。
製品
- id(int、主キー)
- 名前(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
行が返されないため、書き込みは無意味です。