Mysql 询问玩家的朋友
我有一张名为PlayerFriends的表格来模拟多对多的关系 PlayerFriends表包含PlayerFriendPlayerID和PlayerFriendFriendDid。它们是外键 玩家表中的玩家有一个玩家名称字段 我想为玩家“pid”选择所有朋友的所有玩家名称 我现在有一个查询,可以找到所有的朋友:Mysql 询问玩家的朋友,mysql,sql,Mysql,Sql,我有一张名为PlayerFriends的表格来模拟多对多的关系 PlayerFriends表包含PlayerFriendPlayerID和PlayerFriendFriendDid。它们是外键 玩家表中的玩家有一个玩家名称字段 我想为玩家“pid”选择所有朋友的所有玩家名称 我现在有一个查询,可以找到所有的朋友: SELECT * FROM PlayerFriends WHERE PlayerFriends.PlayerFriendPlayerID = pid; 但是我如何选择朋友的玩家名呢
SELECT * FROM PlayerFriends WHERE PlayerFriends.PlayerFriendPlayerID = pid;
但是我如何选择朋友的玩家名呢
谢谢试试:
SELECT C.PlayerName
FROM Players AS A
JOIN PlayerFriends AS B ON B.PlayerId=A.id
JOIN Players AS C ON B.PlayerFriendPlayerID=C.id
WHERE A.id=pid
您可以通过一个简单的连接来实现这一点:
仍然错误,没有必要再次加入玩家表,您应该加入具有好友id的玩家
Select P.PlayerName
From PlayerFriends F
Join Players P On F.PlayerFriendFriendId = P.PlayerId
Where F.PlayerFriendPlayerId = pid