Mysql 从多个表中获取多个值

Mysql 从多个表中获取多个值,mysql,sql,Mysql,Sql,我在MySQL中设置了一个数据库,有两个不同的表: 表“匹配项” 表“团队” 我希望能够将表“matches”中的id与表“teams”中的团队名称关联起来,这样我就可以在匹配页面上打印出来 我的问题是,我不能根据自己的需要回答这个问题 我的最新尝试: SELECT matches.*, teams.name AS team1name FROM matches LEFT JOIN teams ON matches.team1ID = teams.id UNION SELECT matches.*

我在MySQL中设置了一个数据库,有两个不同的表:

表“匹配项”

表“团队”

我希望能够将表“matches”中的id与表“teams”中的团队名称关联起来,这样我就可以在匹配页面上打印出来

我的问题是,我不能根据自己的需要回答这个问题

我的最新尝试:

SELECT matches.*, teams.name AS team1name
FROM matches
LEFT JOIN teams ON matches.team1ID = teams.id
UNION
SELECT matches.*, teams.name AS team2name
FROM matches
LEFT JOIN teams ON matches.team2ID = teams.id
这显然不理想,因为我两次获得所有匹配数据。
这给了我两个名称,但它们位于不同的行上,并且都标记为
team1name

我希望得到的结果是:

ID TEAM1ID   TEAM2ID  TIME   DATE   TEAM1NAME   TEAM2NAME
---------------------------------------------------------
5  13        14       21:00  5 May  GucciGang   BeachBoys

这可能吗?

只需将表连接两次:

SELECT    matches.*
,         Team1.name AS team1name
,         Team2.name AS team2name
FROM      matches
LEFT JOIN teams AS Team1
       ON matches.team1ID = Team1.id
LEFT JOIN teams AS Team2
       ON matches.team2ID = Team2.id
注意:最好是专门指定列,而不是
SELECT*

ID TEAM1ID   TEAM2ID  TIME   DATE   TEAM1NAME   TEAM2NAME
---------------------------------------------------------
5  13        14       21:00  5 May  GucciGang   BeachBoys
SELECT    matches.*
,         Team1.name AS team1name
,         Team2.name AS team2name
FROM      matches
LEFT JOIN teams AS Team1
       ON matches.team1ID = Team1.id
LEFT JOIN teams AS Team2
       ON matches.team2ID = Team2.id