我在我的数据库中的两个表:MySQL的选择加入其中,并在
产品
- ID(INT,主键)
- 名(为varchar)
产品标签
- 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
是毫无意义的,因为没有行将被返回。
我不明白你在做什么?你是否在意详细说明一些数据和例子? – diagonalbatman 2011-02-16 14:36:11