SQL - 检索朋友的用户数据

时间:2014-11-10 12:37:21

标签: mysql sql

我想用用户名,性别等显示用户的朋友列表。用户注册后,他会将其存储在此表中:

USER |id |username |age |gender

如果他添加了一个朋友,就会将友谊插入我的数据库,如下所示:

FRIENDS
friendShipId
userId (the id from the user who is logged in and want to show his friends)
friend (the id of the user who the currently loggedInUser is friends with)

现在我需要获取登录用户的朋友列表:

SELECT users.username, users.age, users.gender, friends.friendshipId, friends.friend 
FROM friends INNER JOIN users 
ON friends.userId = users.id 
WHERE friends.userId = $id"

如果用户得到了2个朋友,查询响应2行,但都使用当前loggedIn用户的userdata。不是他朋友的数据。你能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

我认为您需要join列上的friend,而不是userId列:

SELECT u.username, u.age, u.gender, f.friendshipId, f.friend 
FROM friends f INNER JOIN
     users u       
     ON f.friend = u.id 
WHERE f.userId = $id";