Sql 选择所有记录don';t在联接表中不满足某些条件

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

假设这里有两个表,posts和comments,关系是一对多,评论表中有一个字段调用comment_uDate

现在,我正努力获得以下预期结果:


所有帖子在某个日期后都没有评论,我可以用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
)