Oracle 从多个表中创建视图或输出,显示ID、总计数和符合条件的计数,基于大于加入团队日期的游戏日期

Oracle 从多个表中创建视图或输出,显示ID、总计数和符合条件的计数,基于大于加入团队日期的游戏日期,oracle,join,count,left-join,percentage,Oracle,Join,Count,Left Join,Percentage,首先我将提供我拥有的结构和数据,然后我将提供我尝试过的查询。我不太擅长“连接”(右或左)或联合查询,我一直在尝试研究它们,没有太多帮助 我有三张表格。花名册,球队,比赛。表格描述如下图所示 这些表格中的数据附在 我试图完成的是创建输出或视图,该视图在添加行时保持更新 比赛,花名册,球队。我附上了一个创建的EXCEL表格,其中包含了虚构的数据,以显示我在寻找什么 我一直试图运行的查询,我没有得到球员没有参加的球队的计数,但可能有,所以它需要根据他们的百分比计算…这一行不存在 SELECT r

首先我将提供我拥有的结构和数据,然后我将提供我尝试过的查询。我不太擅长“连接”(右或左)或联合查询,我一直在尝试研究它们,没有太多帮助

我有三张表格。花名册,球队,比赛。表格描述如下图所示

这些表格中的数据附在

我试图完成的是创建输出或视图,该视图在添加行时保持更新 比赛,花名册,球队。我附上了一个创建的EXCEL表格,其中包含了虚构的数据,以显示我在寻找什么

我一直试图运行的查询,我没有得到球员没有参加的球队的计数,但可能有,所以它需要根据他们的百分比计算…这一行不存在

SELECT r.roster_id, COUNT(*) "TOTAL ELIGIBLE GAMES"
FROM games g, teams w, roster r
WHERE r.roster_id = g.roster_id
AND t.team_id = g.team_id
AND g.game_date>= r.joined_team
GROUP BY r.roster_id;
此输出如下所示

但是我正在尝试运行这样的查询并提供输出

SELECT r.roster_id, COUNT(*) "TOTAL ELIGIBLE GAMES"
FROM games g, teams t, roster r
WHERE r.roster_id = g.roster_id
AND t.team_id = g.team_id
AND g.game_date >= r.joined
GROUP BY r.roster_id;
(JOIN, UNION, RIGHT JOIN, LEFT JOIN) -- NOT SURE WHAT TO USE HERE.
SELECT COUNT(*) "ACTUAL GAMES PLAYED"
FROM games g, teams t, roster r
WHERE NOT EXISTS r.roster_id IN (SELECT roster_id FROM roster)
OR EXISTS r.roster_id IN (SELECT roster_id FROM roster)
AND t.team_id = g.team_id
AND g.game_date >= r.joined
GROUP BY r.roster_id;
我不知道如何将计数包含到总游戏中,其中一行应该基于加入团队日期和游戏日期的时间存在…因此游戏日期>=加入团队

我希望我解释得足够好…这是我正在从事的个人项目

任何帮助或建议、提示、示例都将不胜感激……我不是在寻找直接的答案,因为这不是我们学习的方式……我看到很多人希望答案放在银盘子上……如果您有任何问题,或需要更多信息,请让我知道

谢谢,,
丹尼尔

请不要发布图片链接。请阅读并留心