sql - 使用内连接两次

标签 sql sql-server select join inner-join

尝试选择匹配表并将 ID 转换为学校名称,但现在我一次只能处理一行。我的选择会是什么样子?

select Match.ID, School, GuestTeamID from Match
inner join Team on team.id = match.HomeTeamID

比赛表

+------------+------------+-------------+
|         ID | HomeTeamID | GuestTeamID |
+------------+------------+-------------+
|          1 |          1 |           2 |
|          2 |          3 |           4 |
+------------+------------+-------------+

团队表:

+----+----------+
| ID |  School  |
+----+----------+
|  1 | School A |
|  2 | School B |
|  3 | School C |
|  4 | School D |
+----+----------+

最佳答案

将 Team 表与 Match 表加入两次以获取学校名称。

试试这个:

SELECT M.ID, t1.School AS HomeSchool, t2.School AS GuestSchool
FROM MATCH m 
INNER JOIN Team t1 ON t1.id = m.HomeTeamID
INNER JOIN Team t2 ON t2.id = m.GuestTeamID;

关于sql - 使用内连接两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27858459/

相关文章:

mysql - 将 Magento 属性值从 mySQL 中的一行复制到另一行

java - JPA JOIN 查询列表仅给出一项而不是所有项

sql-server - “数据库”已压缩,但不驻留在只读数据库或文件组中

Sqlite-获取编号的行

MySQL 在两个字母之间搜索

php - mySQL 选择顶级项目在一张表中拥有最多的子项?

sql - 如何在 id 字段上可能有匹配项的地方添加一个新列

mysql - 示例 GROUP_CONCAT

sql - 如何将一个巨大的表数据复制到SQL Server中的另一个表中

c# - 按顺序从 SQL 行中读取数据