我有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
答案 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