这是IPL季节。以下是IPL匹配数据库关系:
Player(playerid, name, playsfor)
:包含每个玩家及其参赛队伍的详细信息。在Team表中播放引用teamid。
Team(teamid, teamname)
:包含团队ID和团队名称。
Playerbat(playerid, matchid, runsscored,teamid)
:包含每场比赛中球员得分的得分。只有当玩家参加比赛时,才能为玩家添加一行。
Playerbowl(playerid, matchid, wicketstaken,teamid)
:包含每场比赛中球员的小门。只有当玩家参加比赛时,才能为玩家添加一行。
PlayersmatchDetails (Playerid, Matchid)
:包含参加比赛的球员姓名。
通过使用上面的表格,编写一个SQL语句来查找每个匹配项,每个团队进行至少一场比赛的总得分。
注1:要在结果或输出中显示的列应为matchid且仅运行。
注意2:在编写SQL查询时,您需要将表名写为schemaname.tablename(例如employee.projectDetails,其中employee是schemaname,projectDetails是tablename)。
答案 0 :(得分:0)
我基于Note1和Note2做了几个假设。
注意1:你声明你只想要列matchid和Runs,但描述说每个团队得分,所以你需要让团队在输出中,所以我的答案包含matchid,teamname,运行为输出。
注意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