Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要为每个匹配项查找的SQL语句_Sql - Fatal编程技术网

要为每个匹配项查找的SQL语句

要为每个匹配项查找的SQL语句,sql,Sql,这是IPL的季节。以下是IPL匹配数据库关系: Player(playerid,name,playsfor):包含每个球员及其所在球队的详细信息。Playsfor引用团队表中的团队ID 团队(团队id、团队名称):包含团队id和团队名称 Playerbat(playerid、matchid、runsscored、teamid):包含一名球员在每场比赛中的得分。仅当球员在比赛中出场时,才为该球员排好队 Playerbowl(playerid、matchid、wicketstaken、teamid)

这是IPL的季节。以下是IPL匹配数据库关系:

Player(playerid,name,playsfor)
:包含每个球员及其所在球队的详细信息。Playsfor引用团队表中的团队ID

团队(团队id、团队名称)
:包含团队id和团队名称

Playerbat(playerid、matchid、runsscored、teamid)
:包含一名球员在每场比赛中的得分。仅当球员在比赛中出场时,才为该球员排好队

Playerbowl(playerid、matchid、wicketstaken、teamid)
:包含一名球员在每场比赛中取得的wickets。仅当球员在比赛中出场时,才为该球员排好队

playerMatchDetails(Playerid,Matchid)
:包含在比赛中出场的球员姓名

通过使用上面的表,编写一个SQL语句来查找每一场比赛,至少打过一场比赛的每一队的总得分

注1:结果或输出中显示的列应为matchid且仅运行


注2:在编写SQL查询时,需要将表名写为schemaname.tablename(例如employee.projectDetails,其中employee是schemaname,projectDetails是tablename)。

我根据注1和注2做了一些假设

注1:您声明只需要matchid和Runs列,但描述中说每个团队的得分,因此您也需要在输出中包含团队,因此我的答案包含matchid、teamname和Runs作为输出

注2:您没有指定模式名称,因此我将假设所有表都位于名为schemaname的模式中。您需要将其替换为正确的架构名称

SELECT pb.matchid, t.teamname, SUM(pb.runsscored) as Runs
FROM schemaname.Playerbat pb
INNER JOIN schemaname.Team t ON t.teamid = pb.teamid
GROUP BY pb.matchid, t.teamname
ORDER BY t.teamname, pb.matchid

如果只显示
matchid
跑步次数
,您如何表示每个团队的总得分。您的模式namd是什么<代码>IPL?请给出带有所需结果的样本表。看起来像是家庭作业。你试过什么?