我正在尝试在MySQL
中加入两个表格。这是我的表:
游戏桌:
GameID Date/Time PlayerOneID PlayerTwoID
13 12/10/2013 10:53:29 PM 1 2
14 12/10/2013 10:57:29 PM 1 2
15 12/10/2013 10:58:29 PM 2 1
我有另一个表格包含玩家的ID和玩家的名字。
玩家表:
1 Dan
2 Jon
我希望生成的表格如下所示:
GameID Date/Time PlayerOneID PlayerTwoID
13 12/10/2013 10:53:29 PM Dan Jon
14 12/10/2013 10:57:29 PM Dan Jon
15 12/10/2013 10:58:29 PM Jon Dan
以下是我目前正在做的事情:
SELECT Games.GameID, Games.`Date/Time`, Players.Name, PlayerTwoID
FROM Games
INNER JOIN Players
ON PlayerOneID = Players.ID
这会获得PlayerOnes的名字,但我也找不到获取PlayerTwos的名字。我尝试过使用两个INNER JOINS,但这没效果。我已经在堆栈上阅读了很多帖子,但我没有遇到任何有效的解决方案。我是MySQL的新手,所以后续解释会非常有用。
答案 0 :(得分:2)
你走在正确的轨道上,你需要两次加入Players牌桌,如下:
SELECT Games.GameID, Games.`Date/Time`, p1.Name, p2.Name
FROM Games
INNER JOIN Players p1
ON PlayerOneID = p1.ID
INNER JOIN Players p2
ON PlayerTwoID = p2.ID
您可能错过的是使用别名(p1,p2)来区分您要加入的玩家表的两个副本。
答案 1 :(得分:0)