SQL两行合二为一

时间:2016-07-31 21:50:11

标签: mysql sql mysqli

我的sql数据库如下所示:

表匹配:

id     | homeTeamId | guestTeamId
------ | ---------- | ----------
1      | 1          | 2
------ | ---------- | ----------
2      | 13         | 9

表格团队:

id     | Name 
------ | ------ 
1      | Arsenal London      
------ | ------ 
2      | Manchester City     
------ | ------ 
9      | Tottenham    
------ | ------ 
13     | Aston Villa      

现在我想创建一个查询,它返回与我的团队名称的所有匹配项。 我的输出应该如下所示:

id     | homeTeamId | guestTeamId | hometeam       | guestteam
------ | ---------- | ----------- | ---------------| ---------
1      | 1          | 2           | Arsenal London | Manchester City
------ | ---------- | ----------- | ---------------| ---------
2      | 13         | 9           | Aston Villa    | Tottenham

那么,我该怎么做呢?我尝试了很多内连接,左连接,分组,....但问题是,我需要在一个表上有两个连接并为同一列提供别名。

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

有几种方法可以做到这一点。这是一个使用多个joins

select m.id, m.hometeamid, m.guestteamid, t1.name hometeam, t2.name guestteam
from match m 
    join team t1 on m.hometeamid = t1.id
    join team t2 on m.guestteamid = t2.id