我正在撰写一篇文章发布应用..
用户可以发布文章..文章将作为一行插入,在帖子表格中有唯一的ID ..
该帖子只应向其他用户显示一次......并且不会向已发布的用户显示...
查看的帖子存储在单独的表中,其中包含帖子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 :(得分: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
)