我有我的桌子postsuser_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

09-18 03:04