代码之家  ›  专栏  ›  技术社区  ›  tombazza

检查多行中是否存在一条记录

  •  0
  • tombazza  · 技术社区  · 16 年前

    我有两张表,其结构如下:

    `content` (id, foreign_id, type, date_added)
    `content_territory` (id, content_id, territory_iso)
    

    这些表的结构设计为 content_territory 记录每个可以访问该内容的区域。这意味着 content 项目可以有超过200个区域记录。

    我的问题是,当列出最新的内容时,我想验证内容是否有一个区域 IN() 用户列出了区域-如果不显示记录,则忽略该记录。

    3 回复  |  直到 14 年前
        1
  •  0
  •   hsz    16 年前
       SELECT c.*
         FROM content AS c
    LEFT JOIN content_territory AS ct
           ON c.id = ct.content_id
        WHERE ct.id IN ( ... )
     GROUP BY c.id
    
        2
  •  0
  •   D'Arcy Rittich    16 年前
    select id, foreign_id, type, date_added
    from content
    where id in (select content_id from content_territory)
    
        3
  •  0
  •   Brian Hooper    16 年前
    SELECT id, foreign_id, type, date_added
        FROM content
        WHERE EXISTS (SELECT *
                          FROM content_territory
                          WHERE content_id = content.id);