代码之家  ›  专栏  ›  技术社区  ›  Shuoling Liu

选择联接表中不符合某些条件的所有记录

  •  1
  • Shuoling Liu  · 技术社区  · 16 年前

    假设我们这里有两个表,posts和comment s,关系是一对多的,comment s表中有一个字段call comment_date。

    现在我很难得到预期的结果如下:

    所有的帖子在某个日期之后都没有评论,我可以用SQL语句来完成吗?

    2 回复  |  直到 16 年前
        1
  •  4
  •   Milan BabuÅ¡kov    16 年前
    SELECT *
    FROM posts p
    WHERE NOT EXISTS(
        SELECT 1
        FROM comments c
        WHERE c.comment_date >= 'deadline'
        AND p.post_id = c.post_id
    )
    
        2
  •  1
  •   Quassnoi    16 年前
    SELECT  *
    FROM    posts
    WHERE   post_id NOT IN 
            (
            SELECT  comment_post
            FROM    comments
            WHERE   comment_date >= @deadline
            )