我正在编写脚本来检查新闻是否被多个用户看到,以便检查从未由该用户检查过的新新闻。我认为服务不断要求服务器提供用户从未读过的新闻。但是我不知道该怎么写。(我已经使用了笛卡尔积,但这没有用)。
换句话说,如何检查用户是否没有阅读此新闻并给我提供通知的方法。
如果有人可以帮助我,请吗?
这些是我数据库中的三个表:Users,News和Seen。

这是用户表:

User_ID | User_Name
--------------------
1       | John
2       | Carl
3       | Tomas
4       | Adam
5       | Nancy


和新闻表:

News_ID | News_Text
--------------------
1       | Hello World
2       | This is My car
3       | I had Ate pizza
4       | No Body Want Programming
5       | C++ Programming


这也是Seen Table:

ID   | User_Id  | News_Id
---------------------------
1    |  1       | 2
2    |  1       | 3
3    |  4       | 1
4    |  5       | 3
5    |  1       | 4

最佳答案

这应该获取未看到的“ UserIdYouCareAbout”所有新闻的News_ID(将替换为要查询的User_ID)。

SELECT News.News_ID AS 'Unseen News ID'
FROM News
    LEFT JOIN Seen ON Seen.News_ID = News.News_ID AND Seen.User_ID = <UserIdYouCareAbout>
WHERE
    Seen.ID IS NULL

关于mysql - 给出三个表之间的匹配SQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36366251/

10-10 06:27