数据库 - 在mysql问题中有3个表的内连接

时间:2016-05-23 14:15:41

标签: php mysql sql

我正在做一个最喜欢的系统,允许用户将帖子保存到他们的页面。

我正在使用的表是:

saved_posts表,其中包含3列(painned_id``user_id``post_id

users包含(user_idfrist_namelast_nameusernameemailpassword,{{1} },user_website

最后user_avatar表格postspost_iduser_idpost_authorcategory_idpost_date,{{1 }},post_imagepost_avataruser_website

我用来获取已保存的posrt的我的sql代码

post_keywords

问题是来自一个用户的已保存帖子对其他用户显示,就好像他们也保存了它们一样。

2 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,那么任务就是选择用户中的所有帖子

SELECT * FROM posts p 
    INNER JOIN saved_posts sp ON p.post_id  = sp.post_id 
            and sp.user_id = u.user_id
    INNER JOIN users u on p.user_id = u.user_id

答案 1 :(得分:0)

你不应该用WHERE条件过滤你的答案吗?否则,它只是查找任何用户共享的所有帖子。

SELECT * FROM posts 
INNER JOIN saved_posts  
ON saved_posts.post_id  = posts.post_id
INNER JOIN users 
ON saved_posts.user_id = users.user_id
WHERE users.user_id = :wanted_user_id

不要忘记绑定wanted_user_id