我遇到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的帖子。
有什么建议吗?
答案 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的帖子。