我的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
那么,我该怎么做呢?我尝试了很多内部联接、左联接、分组依据……但问题是,我需要在一个表上进行两个联接,并为同一列提供一个别名。
最佳答案
有多种方法可以做到这一点。这是使用多个连接
的一个:
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
关于mysql - SQL 两行合一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38688683/