我有我的桌子posts
和user_unread_posts
。
在posts
中,保存论坛的所有帖子,在user_unread_posts
中,保存用户阅读的所有帖子。user_undread_posts
如下所示:
id uid pid
现在我想允许用户打开一个他们没有读过的随机帖子。我试过类似的方法
SELECT * FROM posts
LEFT JOIN user_unread_posts uup
ON uup.pid=posts.id
WHERE uup.uid<>1
ORDER BY RAND()
LIMIT 1
(而1是占位符UID)
但它不起作用,就像它应该起作用一样,它也会返回帖子,这些帖子被阅读。。。我该怎么解决?
最佳答案
SELECT *
FROM posts
WHERE id NOT IN
(
SELECT pid
FROM user_unread_posts uup
WHERE uid = $myuserid
)
ORDER BY
RAND()
LIMIT 1