2017-06-20 85 views
0

需要MySQL查询显示在帖子表,但Post表ID不应匹配看表ID的帖子..需要MySQL查询显示所选行

希望这混淆了你!

我只是附加的图像,希望帮助

Posts Table

Viewed Table

我只需要在帖子表格ID 8显示帖子,因为它不是由用户提供观看111..he已经观看仅一个柱与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 

它没有给出结果..

请帮助!

回答

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。

+0

谢谢!真的有用...你真棒! –

+0

我使用此查询.. SELECT Posts.NAME,Posts.TITLE,Posts.NUMBER FROM Posts LEFT JOIN查看 ON Posts.ID = Viewed.POSTID和Posts.NUMBER!=已查看.NUMBER WHERE已查看.POSTID IS NULL AND Posts.NUMBER!='“。$ number”'...如果一个用户看到其他用户看不到的帖子, –