我有一个“比赛”表,显示游戏的对手。单行中有一个HomeTeamID和AwayTeamId字段。该ID字段与具有名称信息的“人”表。我需要的是一个查询,以创建单个行与包含人的名字,而不是ID匹配。我认为这是某种形式的联盟和分组的,但对我的生活,我不能明白。
匹配表:
ID, DATE, TIME, HOMEID, AWAYID
105, 12/1/2018, 5:00 PM, 46, 53
PERSON TABLE:
ID, NAME
46, John Doe
53, Mike Smith
所需的输出:
105, 12/1/2018, 5:00 PM, 46, John Doe, 53, Mike Smith
答案 0 :(得分:2)
由于您需要两次连接人员表,因此必须给它两个不同的别名
SELECT m.ID, m.DATE, m.TIME, m.HOMEID, home.NAME, m.AWAYID, away.NAME
FROM
MATCH m
INNER JOIN PERSON home
ON m.HOMEID = home.ID
INNER JOIN PERSON away
ON m.AWAYID = away.ID