mysql - MYSQL 连接表创建新列
问题描述
我正在尝试加入表格;第一个是包含使用缩写名称的球队的夹具,第二个表格包含所有球队的详细信息,例如全名和主场场地。
我想加入这些表格并显示 2 x 球队的全名和主队的场地。
我下面的代码显示了我需要的一切,除了我需要显示的客队全名。
SELECT f.mid
, f.gid
, f.hteam
, f.ateam
, p.venue
, p.fname as hteam
, p.fname as ateam
FROM fixtures f
JOIN teams p
ON p.abbrev = f.hteam
WHERE mid = 1
表 1(夹具)
mid gid hteam ateam
1 1 WCE LIV
1 2 MUN ESS
表 2(团队)
fname abbrev venue
WEST COAST WCE OPTUS
LIVERPOOL LIV ANFIELD
MANCHESTER MUN OLD TRAFFORD
ESSENDON ESS WINDY HILL
解决方案
您必须加入fixtures
以下 2 个副本teams
:
SELECT f.mid, f.gid, f.hteam, f.ateam,
t1.venue, t1.fname hteam, t2.fname ateam
FROM fixtures f
JOIN teams t1 ON t1.abbrev = f.hteam
JOIN teams t2 ON t2.abbrev = f.ateam
WHERE f.mid = 1
推荐阅读
- powerbi - 需要在 Power BI Slicer 中将当前日期限制为上个月末
- node.js - 我如何在不使用第三方的情况下使用 node.js 发送电子邮件
- java - 是否有一种排序方法可以采用多个比较器并在元素列表的排序顺序相同的情况下使用它们?
- android - Gradle 同步失败 - 无法确定当前字符
- mysql - 比较 HeidiSQL 中的两个 XML 数据库模式
- zsh - 在 vi 覆盖模式下使 zsh zle 恢复退格上的字符
- android - 如何查询通过拖放获得的目录uri以获取其文件
- python - nltk 适用于 jupyter,但不适用于 sublime text 3
- css - 使用jmeter,如何下载模态内的图像文件?
- angular - Angular - Observable 和 SwitchMap - 如何在异步调用进行时显示加载器