sql - SQL:在 2 个表之间进行查询
问题描述
表:比赛
- 比赛日
- home_team_id
- away_team_id
- 分数
表:团队
- ID
- 姓名
我怎样才能得到所有的比分比赛和 2 支球队的名字而不是 id?
SELECT m.matchday, t1.name, t2.name FROM imatches m
INNER JOIN teams t1 ON t1.id = m.home_team_id
INNER JOIN teams t2 ON t2.id = m.away_team_id
我的查询没有返回行,所以有人知道为什么?
解决方案
使用下面加入表格两次;
SELECT
m.matchday
,t1.name AS Team1
,t2.name AS Team2
,m.score
FROM dbo.matches m
INNER JOIN dbo.teams t1 ON t1.id = m.team1_id
INNER JOIN dbo.teams t2 ON t2.id = m.team2_id
编辑; 我在这个网站上搜索了“sql join同一张表两次”,得到了432次点击,我相信搜索引擎会返回无数次。我会建议多做一些腿部工作
推荐阅读
- sql-server - 如何使用 OPENQUERY 正确执行更新链接服务器表的存储过程?
- node.js - 从 Firebase 可调用函数获取用户 IP 地址
- excel - 使用 VBA 从 excel 复制/粘贴到 IE 网页时如何使提交按钮出现?
- ios - 对应用商店的应用内购买促销有问题
- python - 满足-expect-slaves number 后,Locust master 会接受并使用额外的 slave 吗?
- arrays - 在来自文本文件的字符串的特定索引中搜索特定字符时出错(计算文本文件中的段落)
- java - 构建器模式代替方法重载
- c# - 从 json 或 jarray 元素中提取值
- sql - 对一张大桌子进行大量更新。如何加快速度?
- excel - Excel公式二动态提取两个字符串之间的字符串