gpt4 book ai didi

mysql - 跳过计算用户自己的评论

转载 作者:行者123 更新时间:2023-11-29 06:33:17 25 4
gpt4 key购买 nike

我认为这将是一个简单的查询,但它比我预期的要难。

我有一个简单的论坛应用程序,用户可以在其中打开一个故事,然后其他用户可以发表评论。

两个表是

故事

id
user_id
subject
approved

评论

id
user_id
story_id
approved

基本上,我想通过不计算原始发布者自己的评论来查询未回答的故事。即使其他人发布了新评论,如果评论尚未获得批准,也不应将其视为已回答的故事。

select * from stories left join comments on stories.id = comments.story_id
having count(comments.id) = 0 or ( count(comments.id) > 0 and comments.user_id = stories.user_id )

它在没有'approved'标志的情况下工作正常,但是当我将'approved'添加到where/having子句时我无法让它工作。

我做错了什么?

最佳答案

我会将 count 移动到一个子查询中,并放入一个 in 条件来检查回答了什么,没有回答什么:

SELECT s.* 
FROM stories s
WHERE s.id NOT IN (SELECT story_id
FROM comments c
WHERE approved = true AND
c.user_id != s.user_id
GROUP BY story_id
HAVING COUNT(*) > 0)

关于mysql - 跳过计算用户自己的评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26646261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com