2017-06-21 26 views
-2

我在文章发布应用程序的工作,以显示行..需要一个MySQL查询按我的愿望

用户可以张贴article..the文章将与职位的唯一ID被插入的行表..

该职位应该只会出现一次其他users..and它不会显示给谁已经张贴了用户..

的看帖都存储在单独的表包含交ID和查看的用户号码。

我使用查询..

SELECT Posts.NAME, Posts.TITLE, Posts.NUMBER  
FROM Posts LEFT JOIN Viewed 
ON Posts.ID = Viewed.POSTID AND Posts.NUMBER != Viewed.NUMBER 
WHERE Viewed.POSTID IS NULL AND Posts.NUMBER != '".$number"' 

此查询仅显示第一个查看器的帖子...不适用于其他人!

请帮助!

回答

0

您必须使用EXISTS关键字来查看给定的帖子和用户是否有查看条目(或不是)。它应该看起来像这样:

SELECT 
    Posts.NAME, 
    Posts.TITLE, 
    Posts.NUMBER 
FROM 
    Posts 
WHERE NOT EXISTS (
    SELECT 
     1 
    FROM 
     Viewed 
    WHERE 
     Viewed.USERID = ? AND 
     Viewed.POSTID = Posts.ID 
) 
+0

谢谢,但为什么你选择了1不存在? –