mysql - 如何获取与 sql 表上的 id 匹配的名称?

标签 mysql sql database

假设我有一个具有以下形状的 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/

相关文章:

mysql - sql按年计算变化和百分比

mysql - 也得到不存在日期的结果

MongoDB:在键中使用特殊字符查询哈希

mysql - 如何将 MySQL 客户端与运行在 Docker 中的服务器连接

sql - 如何为日期变量提供一个由 Postgresql 中的整数变量组成的间隔

php - 将 Magento CE 1.6.2 升级到 1.9.1 时出错

sql - Oracle:分层查询中的编号组

database - Python 3 - 与 JDBC 连接

mysql - Bitnami 谷歌服务器上的 Cronjob 不工作

mysql - 我应该在 Node.js (Express) 应用程序中的什么地方定义我的 MySQL 客户端?