这个错误让我很恼火。我知道这是一件小事,但我无法改正。
SELECT
tblPlayerStatistics.Player_ID_Number,
SUM(tblPlayerStatistics.TwoPointerMade + tblPlayerStatistics.ThreePointerMade) AS points,
MatchID
FROM
tblPlayerStatistics
INNER JOIN tblGameResults ON tblPlayerStatistics.MatchID = tblGameResults.MatchID
GROUP BY
tblPlayerStatistics.Player_ID_Number,
tblPlayerStatistics.MatchID;
根据我对你的问题的理解,你的问题是在from子句中指定的多个表中存在同一列。
在这种情况下,您必须像在查询中那样指定带有表名的列。
为表指定列的别名
对当前查询进行更正。
SELECT
tblPlayerStatistics.Player_ID_Number,
SUM(tblPlayerStatistics.TwoPointerMade + tblPlayerStatistics.ThreePointerMade) AS points,
tblPlayerStatistics.MatchID
FROM
tblPlayerStatistics
INNER JOIN tblGameResults ON tblPlayerStatistics.MatchID = tblGameResults.MatchID
GROUP BY
tblPlayerStatistics.Player_ID_Number,
tblPlayerStatistics.MatchID;
您的MatchID
定义不明确,请指定使用该列的表名。
可以指定表的别名,并使用该别名访问表的列。
使用别名:
SELECT
ps.Player_ID_Number,
SUM(ps.TwoPointerMade + ps.ThreePointerMade) AS points,
ps.MatchID
FROM
tblPlayerStatistics ps
INNER JOIN tblGameResults gr ON ps.MatchID = gr.MatchID
GROUP BY
ps.Player_ID_Number,
ps.MatchID;