- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于足球联赛,我有两张 table :
这就是我的查询的样子:
SELECT Teams, Sum(P) as 'Matches', Sum(W) as 'win', Sum(D) as 'draw', Sum(L) as 'lost',
SUM(Pts) as 'points'
FROM (
SELECT home Teams, 1 P,
IF (home > away,1,0) W,
IF (home = away,1,0) D,
IF (home < away,1,0) L,
CASE
WHEN home > away THEN 3
WHEN home = away THEN 1
ELSE 0
END PTS
FROM `matches`
UNION ALL
SELECT away Teams, 1,
IF (home < away,1,0),
IF (home = away,1,0),
IF (home > away,1,0),
CASE
WHEN home < away THEN 3
WHEN home = away THEN 1
ELSE 0
END
FROM `matches`
) AS ERG
GROUP BY Teams
ORDER BY SUM(Pts) DESC
现在我想要团队表中的团队名称(teams.team_name)。为了实现这一点,我尝试了几个连接语句,但没有成功。
很明显,球队表可以包含没有参加比赛的球队。这些球队需要以零结果来展示。
因此我尝试了 LEFT JOIN:
SELECT team_name AS 'Teams'
FROM `teams`
LEFT JOIN matches ON ( teams.id = matches.home_team_id )
就在最后的 ORDER 行之后。我收到一条错误消息。我使用 MySQL 5.1.44,因此嵌套选择应该不是问题。
有什么想法吗?
最佳答案
听起来你想做这样的事情。我更新了您的子查询以包含 home_team_id
和 away_team_id
,然后您将在 teams
表上JOIN
返回名称:
SELECT Teams,
Sum(P) as 'Matches',
Sum(W) as 'win',
Sum(D) as 'draw',
Sum(L) as 'lost',
SUM(Pts) as 'points',
h.team_name as HomeTeam,
a.team_name as AwayTeam
FROM
(
SELECT home Teams,
1 P,
IF (home > away,1,0) W,
IF (home = away,1,0) D,
IF (home < away,1,0) L,
CASE WHEN home > away THEN 3 WHEN home = away THEN 1 ELSE 0 END PTS,
home_team_id,
away_team_id
FROM `matches`
UNION ALL
SELECT away Teams,
1,
IF (home < away,1,0),
IF (home = away,1,0),
IF (home > away,1,0),
CASE WHEN home < away THEN 3 WHEN home = away THEN 1 ELSE 0 END,
home_team_id,
away_team_id
FROM `matches`
) AS ERG
LEFT JOIN `teams` h
on ERG.home_team_id = h.home_team_id
LEFT JOIN `teams` a
on ERG.away_team_id = a.away_team_id
GROUP BY Teams, home_team_id, away_team_id
ORDER BY SUM(Pts) DESC
根据您的评论编辑 #1,听起来您想要这个(请参阅 SQL Fiddle with Demo ):
SELECT TeamId,
t.team_name,
Teams,
Sum(P) as 'Matches',
Sum(W) as 'win',
Sum(D) as 'draw',
Sum(L) as 'lost',
SUM(Pts) as 'points'
FROM
(
SELECT home_team_id TeamId,
home Teams, 1 P,
IF (home > away,1,0) W,
IF (home = away,1,0) D,
IF (home < away,1,0) L,
CASE
WHEN home > away THEN 3
WHEN home = away THEN 1
ELSE 0
END PTS
FROM `matches`
UNION ALL
SELECT away_team_id TeamId,
away Teams, 1,
IF (home < away,1,0),
IF (home = away,1,0),
IF (home > away,1,0),
CASE
WHEN home < away THEN 3
WHEN home = away THEN 1
ELSE 0
END
FROM `matches`
) AS ERG
LEFT JOIN `teams` t
ON ERG.TeamId = t.id
GROUP BY Teams, TeamId
ORDER BY SUM(Pts) DESC
关于Mysql 查询 Union All 和 Join for League 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12581251/
我最近设置了一个新的 Laravel 5.5项目在 Ubuntu 16.04与 NGINX服务器。我遵循了所有正确的步骤,并不止一次地仔细检查了所有内容。我已经安装 Laravel/Passport并
我有一个联赛列表,我想在每个条目中显示投球手的数量。例如: 我想在列表中每个联盟名称下的每个列表中显示投球手的数量。例如: 这旨在快速浏览每个联赛。 我尝试使用以下代码来完成此操作: 数据库助手 //
出于某种原因,我无法推测出一段简单的代码。 我想在下面的代码中将 'wins' 除以 'played',这样在我的输出中,如果你在 4 场比赛中赢了 2 场,它会显示为 .500? 当然很简单,位置可
这个问题在这里已经有了答案: How can I use custom fonts on a website? [duplicate] (5 个答案) 关闭 7 年前。
目的是创建一个Reader 类,它是League Flysystem 之上的包装器documentation Reader 应该提供方便的方式来读取目录中的所有文件,无论文件的物理形式如何(本地文件,
我正在创建一个非常简单的 CSV 文件以供在 Laravel 5.2 中下载。我在 Mac 上。我已经使用 composer 安装了 League/CVS 库并创建了这个简单的函数: public f
对于足球联赛,我有两张 table : “teams”是一个表格,其中将所有团队列为唯一条目(“id”,'team_name') “matches”是一个显示匹配结果的表格:在列中“主场”和“客场”我
我有表: 事件 -----+-------------------+ | id | eventName | -----+-------------------+
我正在使用 League/CSV 在 Laravel 5.7 中导出模型包裹: public function export(Request $request) { $people = Per
我正在尝试使用 League OAuth2 Client允许用户验证我的 Laravel 网络应用程序以在他们的日历上设置约会。注意:我不是试图让用户登录我的网站或使用 OAuth 验证我的网站!我只
将Heroku中的laravel 5.4应用程序与aws s3连接,以保存和显示通过仪表板上传的图像。 在本地,即使上传和查看的图像都存储在我制作的存储桶中,我也没有问题。但是,当我在heroku中设
我现在正在使用 Laravel 9 开发一个 API,其中包括上传图像和视频文件的功能。对于存储,我使用 Azure Blob 存储来存储这些文件上传。我正在使用 matthewbdaly/larav
我现在正在使用 Laravel 9 开发一个 API,其中包括上传图像和视频文件的功能。对于存储,我使用 Azure Blob 存储来存储这些文件上传。我正在使用 matthewbdaly/larav
我在 MySQL 表中有梦幻足球联赛的数据。我想查询一个 php 页面的数据。 我如何创建一个查询来计算球队得分与该特定年份联盟平均得分的比较? 我的(简化的)数据表如下所示: 游戏 table :
我使用了“league/oauth2-client”库并尝试从提供商处获取访问 token 。我的第一步是让授权码正常工作。当我向提供者请求访问 token 时,出现异常,例如“cURL 错误 51:
我正在将一个项目从 Laravel 5 升级到 5.1。一个需要更新的包是 League\Flysystem。 我正在使用 Intervention\Image 调整图像大小,然后使用 Flysyst
我有这段代码可以在我的本地电脑 (MAC) 上完美运行,但是当我将所有内容都插入生产时会出现此错误: local.ERROR: League\Flysystem\Exception: Impossib
当我尝试安装 composer League/flysystem-aws-s3-v3 时出现错误 我的台词: Composer 需要联盟/flysystem-aws-s3-v3 我使用 Laravel
我有一个与 espn Fantasy Football 相关的宠物项目。我的联盟是私有(private)的,它要求我登录该网站才能导航到该页面。例如,当我转到 时在浏览器上 http://games.
我正在尝试基于 league/flysystem 在 Laravel 中构建一个文件管理系统:https://github.com/thephpleague/flysystem 我正在使用 S3 适配
我是一名优秀的程序员,十分优秀!