mysql查询有问题

时间:2011-08-28 10:33:02

标签: mysql

我遇到mysql查询问题而且我被卡住了......

我发布了许多标签,我想让用户获得带有选择标签的帖子。我在表格中存储有关标签的信息:

Tag_warp(
id_tag_wrap,
id_tag,
id_post)

我需要选择具有所选标签的不同帖子。你知道怎么做吗?如果我要求:id_tag = "5" AND id_tag= "2"我没有得到任何结果(这是显而易见的)如果我要求:id_tag = "5" OR id_tag= "2"我有id_post,结果有2或5但我只需要那些同时具有id_tag的帖子。

有什么建议吗?

2 个答案:

答案 0 :(得分:3)

您可以group by发帖,并要求每个帖子都有两个标签:

select  id_post
from    tag_warp
where   id_tag in (2,5)
group by
        id_post
having  count(distinct id_tag) = 2

答案 1 :(得分:0)

你可以这样做:

SELECT * FROM Tag_warp
WHERE tag_id IN (2, 5)
GROUP BY post_id
HAVING COUNT(post_id) = 2

这将返回同时包含标记2和5的帖子。