Sql 选择所有记录don';t在联接表中不满足某些条件
假设这里有两个表,posts和comments,关系是一对多,评论表中有一个字段调用comment_uDate 现在,我正努力获得以下预期结果:Sql 选择所有记录don';t在联接表中不满足某些条件,sql,mysql,Sql,Mysql,假设这里有两个表,posts和comments,关系是一对多,评论表中有一个字段调用comment_uDate 现在,我正努力获得以下预期结果: 所有帖子在某个日期后都没有评论,我可以用SQL语句来完成吗?经过测试,效果和第一篇一样好,谢谢。这很聪明,不需要指定外键。因为我在评论中使用了post_id,所以如果用post_id替换post_,这将是一个完美的答案。NOT in实际上优化为MySQLTested中不存在,与第一个一样好,谢谢。这很聪明,不需要指定外键。因为我在评论中使用了post_
所有帖子在某个日期后都没有评论,我可以用SQL语句来完成吗?经过测试,效果和第一篇一样好,谢谢。这很聪明,不需要指定外键。因为我在评论中使用了post_id,所以如果用post_id替换post_,这将是一个完美的答案。NOT in实际上优化为MySQLTested中不存在,与第一个一样好,谢谢。这很聪明,不需要指定外键。因为我在评论中使用了post_id,所以如果用post_id替换comment_post,这将是一个完美的答案
SELECT *
FROM posts
WHERE post_id NOT IN
(
SELECT comment_post
FROM comments
WHERE comment_date >= @deadline
)
SELECT *
FROM posts p
WHERE NOT EXISTS(
SELECT 1
FROM comments c
WHERE c.comment_date >= 'deadline'
AND p.post_id = c.post_id
)