假设我有一个具有以下形状的 MATCH 表;
id, home_id, away_id, date, season_id
1, 4, , 5 xxxx, 3
2, 3, , 2 xxxx, 4
....
我还有每个 id 列的表格,包括与给定 id 匹配的名称。
团队表
id, name
1, FC Bayern
2, Monaco
...
季节表
id, season_name
1, summer
2, winter
....
所以我想获取第一个表的名称而不是 ID。在大型 SQL 数据库中执行此操作的最有效方法是什么?最终表应在匹配的 id 值上打印出名称。
最佳答案
只需将表连接在一起即可。没什么特别的
select m.id, home.name, away.name, m.date, s.name
from match m
join teams home on m.home_id = home.id
join teams away on m.away_id = away.id
join season s on m.season_id = s.id
由于您需要加入团队
两次,因此需要为该表指定不同的别名。
关于mysql - 如何获取与 sql 表上的 id 匹配的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25324398/