SQL选择表中的两个值并将其连接到另一个表中

时间:2017-10-28 02:51:46

标签: mysql sql

我有两个表,“团队”和“匹配”。我想从匹配表中选择并替换两个团队ID与实际团队名称。我只能获得一个团队名称,我不确定如何选择两个。

SELECT m.*, t.teamId, t.teamName FROM matches AS m
JOIN teams AS t ON m.homeTeam = t.teamId

匹配表

ID*
Date
homeTeam (id)
awayTeam (id)

团队表

ID*
Name

1 个答案:

答案 0 :(得分:2)

您需要两次加入teams表格。一次为matches表中的每个团队条目。它应该看起来像这样

SELECT 
  m.id
  , m.date
  , h.teamId as homeTeamID
  , h.teamName as homeTeamName
  , a.teamId as awayTeamID
  , a.teamName as awayTeamName
FROM 
  matches AS m
  JOIN teams AS h -- home team 
    ON m.homeTeam = h.teamId
  JOIN teams AS a -- away team
    on m.awayTeam = a.teamId

我不得不猜测你把这些字段命名为什么,但这应该足以让你开始。