2014-02-26 69 views
0

我有两个表格,玩家和GameLog。SQL平均分组按

玩家有位置和Player_ID

GameLog有Player_ID,对手,并取得

我的目标是通过位置“C”

过去15天内退货对阵每个对手的平均分

这里是我使用的查询:

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; 

这将返回所有球队的名单和整体平均点S.无聊,而不是被团队分开。例如,它返回:

ATL 19.12 
BOS 19.12 
NY 19.12 

当它应该是显示平均分agains ATL,对BOS的平均点等

有什么想法?

+0

哈哈,现在第一个三重双重问题,你试图预测NBA比赛什么的?如果你最终得到一个好的系统,让我知道;) – pegicity

回答

0

这是你的问题:

我的目标是通过位置“C”

这应该不需要花哨返回在过去15天内取得了对每个对手的平均分步法来回答。这看起来像一个基本的聚合查询。我认为这是你想要的:

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; 
+0

哇,我感到很傻......我觉得我尝试了这样的东西,它不工作。太简单了,谢谢!此外,它不会让我很快接受答案,但我会尽快完成......再次感谢。 – fullOfQuestions