SQL:如何从表中选择一个具有关联值的值?

时间:2018-12-11 14:53:09

标签: sql ms-access

我正在尝试创建一个SQL SELECT来显示玩家的用户名和与该玩家相关联的团队的名称。这是我的代码,但无法正常工作:

SELECT Player.userName AS Player, 
     Teams.TeamName AS [Team Name]
FROM Players, Teams
    INNER JOIN Players
        ON Team.ID = Player.userName 

这是团队的桌子 enter image description here

这是玩家的表格,我只列出了姓名。 enter image description here

This is the full Player's Table with the contents of what is inside the table.

1 个答案:

答案 0 :(得分:3)

  1. 您的FROM子句中的语法有点偏离。最好的经验法则是从不在您的FROM子句中使用逗号(唯一的例外是,如果您要将一个表中的 EVERY 行连接到每隔行创建两个表的笛卡尔积,但我们很少这样做。

  2. ON的{​​{1}}子句中指定两个表的关系时,需要将每个表中的列放在相同的地方。 JOIN从不Team.ID匹配,因此这不是适当的加入条件。

假设您的玩家表中有一个Players.userName列,因此您知道每个TeamID位于哪个Team上,那么您将拥有如下所示的SQL:

Player