首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >选择用户未回复的所有帖子?

选择用户未回复的所有帖子?
EN

Stack Overflow用户
提问于 2017-06-05 04:51:24
回答 1查看 22关注 0票数 0

我有一个显示帖子的网站,用户可以在上面投票。在他们投票一次之后,我不希望它再次显示给那个用户。因此,我需要一个查询,这个查询会投票所有帖子,并返回用户尚未响应的帖子。

我在想,最简单的做法是有一个posts表、responses表和user表。响应表可以包括一个postId和userId。这可以让我看到用户回复的所有帖子,但我想不出如何翻转它来显示否定。而且,这样做似乎会很慢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-05 04:54:44

要查找所有尚未被给定用户查看的帖子,可以尝试以下查询:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT p.*
FROM posts p
WHERE NOT EXISTS (SELECT 1 FROM responses r
                  WHERE r.postId = p.postId AND r.userId = <some value>)

作为使用NOT EXISTS的另一种选择,您也可以使用LEFT JOIN来表示这一点。

代码语言:javascript
代码运行次数:0
运行
复制
SELECT p.*
FROM posts p
LEFT JOIN responses r
    ON p.postId = r.postId AND
       r.userId = <some value>
WHERE r.postId IS NULL
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44361857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档