(SQL)在2个不同的表中找到用户和朋友所在的朋友

时间:2019-03-29 04:53:49

标签: php sql join select

我有2张桌子:用户和朋友。我想显示已登录用户的朋友的每张个人资料图片,但与包含个人资料图片URI(即用户)的表不同,loggedUser-friends匹配位于不同的表(即朋友)中。

我的查询现在看起来像这样:

 SELECT profile_picture FROM users WHERE 

现在我必须完成WHERE子句:

朋友的表架构如下:

id | user_id | friend_id

friends表的示例数据:

1 | pino20 | sebo14

用户的表架构为

id | user_id | profile_picture

用户表的示例数据:

1 | pino20 | pino20/profile.jpg

3 个答案:

答案 0 :(得分:1)

在下面的查询中,您会得到朋友的用户名和个人资料图片。


select user_id , profile_picture from users WHERE user_id in( select friend_id from friends where user_id=$your_userid)

答案 1 :(得分:0)

您可以通过使用联接来实现。它应该看起来像这样:

编辑: 选择user.profile_picture,user_friend.profile_picture 来自用户 加入好友ON user.user_id = friend.user_id 在user_friend.friend_id = friend.user_id上左加入用户user_friend-左加入,因为如果没有匹配项,我们不想删除记录

答案 2 :(得分:0)

使用join可以达到以上结果

SELECT NT.profile_picture  FROM users AS NT JOIN friends  AS FR ON FR.id = NT.id