Php MySQL查询显示问题
如何使用MySQL表在users和friends端正确显示用户朋友?我现在的代码搞砸了 用户朋友表 用户表 我当前的MySQL代码Php MySQL查询显示问题,php,mysql,Php,Mysql,如何使用MySQL表在users和friends端正确显示用户朋友?我现在的代码搞砸了 用户朋友表 用户表 我当前的MySQL代码 尝试此查询。这将根据您的数据库关系为特定用户提供所有好友 SELECT A.user_id, A.friend_id, B.username, B.avatar FROM users_friends AS A INNER JOIN users AS B ON A.friend_id = B.user_id AND A.user_id
尝试此查询。这将根据您的数据库关系为特定用户提供所有好友
SELECT A.user_id, A.friend_id, B.username, B.avatar
FROM users_friends AS A
INNER JOIN users AS B
ON A.friend_id = B.user_id
AND A.user_id = @userToBeSearched
UNION
SELECT A.friend_id, A.user_id, B.username, B.avatar
FROM users_friends AS A
INNER JOIN users AS B
ON B.user_id = A.user_id
AND A.friend_id = @userToBeSearched
注意:我现在删除了Group By子句,因为
用户
user_id |username| avatar | password
1 A AAAA
2 B BBBB
3 C CCCCC
4 D DDDDD
表:user\u friends
id | user_id | friend_id | friendship_status | date_created
1 1 2 1 Friday, October 22, 2010 3:09:44 PM
2 2 3 1 Friday, October 22, 2010 3:43:18 PM
3 2 4 1 Friday, October 22, 2010 3:43:26 PM
除了没有消毒,我觉得还可以。出什么事了?它在好友端显示的好友头像、姓名和链接都是错误的。你能告诉我你看到了什么以及你希望看到什么吗?假设用户1好友用户2用户1正确显示了好友的图片、用户名和链接,而不是用户2。用户2将自己的pic、用户名和链接显示为自己的朋友。我如何将
选择A.User\u id、A.friend\u id、B.username、B.avatarSELECT
转换为选择用户。*、用户\u朋友。*
只需将选择部分改为选择A.*、B.*。但是,由于两个表中都有User\u id列,它可能会导致一些问题,因为它将是模糊的。我建议您将所需的所有列都放在这两个SELECT语句中
SELECT A.user_id, A.friend_id, B.username, B.avatar
FROM users_friends AS A
INNER JOIN users AS B
ON A.friend_id = B.user_id
AND A.user_id = @userToBeSearched
UNION
SELECT A.friend_id, A.user_id, B.username, B.avatar
FROM users_friends AS A
INNER JOIN users AS B
ON B.user_id = A.user_id
AND A.friend_id = @userToBeSearched
user_id |username| avatar | password
1 A AAAA
2 B BBBB
3 C CCCCC
4 D DDDDD
id | user_id | friend_id | friendship_status | date_created
1 1 2 1 Friday, October 22, 2010 3:09:44 PM
2 2 3 1 Friday, October 22, 2010 3:43:18 PM
3 2 4 1 Friday, October 22, 2010 3:43:26 PM