需要mysql查询才能显示所选行

时间:2017-06-20 10:07:10

标签: mysql

需要mysql查询才能在帖子表中显示POSTS但Post表ID不应与被查看的表ID相匹配..

希望这会让你感到困惑!

我刚附上一张图片,希望有帮助

Posts Table

Viewed Table

我只需要在帖子表格中显示ID为8的帖子,因为号码为111的用户不会查看该帖子。他只查看了一个ID为7的帖子。

我的查询:

SELECT Posts.ID, 
       Posts.NAME, 
       Posts.TITLE, 
       Posts.POST, 
       Posts.VIEWS 
FROM Posts, Viewed 
WHERE Posts.NUMBER != '".$number."' 
    AND Posts.ID != Viewed.POSTID 
    AND Posts.NUMBER = Viewed.NUMBER

没有结果..

请帮助!

1 个答案:

答案 0 :(得分:0)

试试这个:

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

使用左连接并仅选择空的Viewed.POSTID。

相关问题