sql join返回两个相同的值

时间:2019-01-24 18:43:33

标签: mysql

我在mysql中有两个表:matchesteamsmatches的列home_teamaway_team与{表fk ..我想在teams.team_idhome_team中获得这些名称,而不是它们的away_team ... 我已经试过了,但是两次返回相同的值。我做错了,但我无法弄清楚。

代码

id

第一个值正确,但第二个值不正确。

1 个答案:

答案 0 :(得分:0)

您的别名已关闭。您在当前查询中两次引用相同的第一个teams表。尝试使用此版本,该版本使用适当的别名来区分两个联接的teams表。

SELECT
    m.home_team,
    m.away_team,
    t1.name AS home,
    t2.name AS away
FROM matches m
LEFT JOIN teams t1
    ON m.home_team = t1.team_id 
LEFT JOIN teams t2
    ON m.away_team = t2.team_id;