我有两张桌子,玩家和GameLog。
玩家有位置和Player_ID
GameLog具有Player_ID,Opponent和Points Scored
我的目标是在过去15天内通过位置“C”返回每个对手得分的平均分数
以下是我正在使用的查询:
SELECT DISTINCTROW NBAGameLog.Opp,
(SELECT AVG(NBAGameLog.Points)
FROM NBAGameLog INNER JOIN Players ON NBAGameLog.Player_ID = Players.Player_ID
WHERE (((NBAGameLog.Date_Played) Between Date()-15 And Date())) AND Players.Position = "C") AS Expr1
FROM Players INNER JOIN NBAGameLog ON Players.Player_ID = NBAGameLog.Player_ID
GROUP BY NBAGameLog.Opp;
这将返回所有球队的列表和得分的总体平均得分,而不是由球队分开。例如,它返回:
ATL 19.12
BOS 19.12
NY 19.12
当应该再次显示ATL的平均分数时,对BOS的平均分数等等。
有什么想法吗?
答案 0 :(得分:0)
这是你的问题:
我的目标是在过去15天内通过位置“C”返回每个对手得分的平均分数
这不应该需要花哨的步法来回答。它似乎是一个基本的聚合查询。我想这就是你想要的:
SELECT NBAGameLog.Opp, AVG(NBAGameLog.Points)
FROM Players INNER JOIN
NBAGameLog
ON Players.Player_ID = NBAGameLog.Player_ID
WHERE (NBAGameLog.Date_Played Between Date()-15 And Date() AND
Players.Position = "C"
GROUP BY NBAGameLog.Opp;