mysql - MYSQL - 单个查询中的多个连接
问题描述
我有一个包含名称和 ID 的表:
Id surname given
1 John Doe
2 Fred Smith
3 James White
4 Dick Jones
我有另一个表将这些组合为团队:
Team Mem1 Mem2
A 1 2
B 3 4
C 1 4
有没有办法在单个查询中连接名称以获取团队和名称列表?
结果将是:
A John Doe Fred Smith
B James White Dick Jones
C John Doe Dick Jones
解决方案
您可以加入两次:
select
t.id,
concat(n1.surname, ' ', n1.given) name1,
concat(n2.surname, ' ', n2.given) name2
from teams t
inner join names n1 on n1.id = t.mem1
inner join names n2 on n2.id = t.mem2
如果缺少名称,您可以使用left join
s 代替inner join
s。
推荐阅读
- django - 如何通过外键从与另一个模型相关的模型中检索特定对象?
- kubernetes - 在 Kubernetes 上使用 nginx 入口注释进行多次重写?
- c# - 请求被中止 无法创建 SSL/TLS 安全通道 webClient C#
- python - TypeError: 不支持的操作数类型 -: 'str' 和 'str' 传递两个日期时
- java - Jmeter脚本中的重试逻辑
- omnet++ - 为什么模拟中计算的 CO2 排放值与 .sca 文件中存储的值不同?
- go - 如何使用 go get 命令从 github 拉取包的旧分支
- kotlin - 当 ViewModel 列表项属性更新时,如何设置 RecyclerView 中的属性以更新?
- r - R工作室中的“意外符号”
- javascript - 如何将值从 js 转移到另一个 js