带有 JOIN、SUM 和 GROUP BY 的 SQL SELECT 查询

标签 sql ms-access

我在 MS Access 数据库中有 5 个表:tblMember、tblPoint、tblRace、tblRaceType 和 tblResult。 (所有这些都有主键。)
tblPoint 包含(RaceTypeID、Position、Points)字段。

我想要做的是查看成员参加的所有比赛,查看他们来的位置(存储在 tblResult 中),并查看这些位置是否得分(如 tblPoint 中所定义)。然后我想将每个成员的所有积分加起来并显示这些,以及我查询中的成员名称......

这可能吗?我在下面的这个 SQL 查询中想出了我的最佳镜头:

SELECT Sum(tblPoint.Points) AS SumOfPoints, Count(tblRace.RaceID) AS CountOfRaceID,     
tblMember.MemberName, tblPoint.Points
FROM ((tblRaceType INNER JOIN tblPoint ON tblRaceType.RaceTypeID = tblPoint.RaceTypeID)    
INNER JOIN tblRace ON tblRaceType.RaceTypeID = tblRace.RaceTypeID) INNER JOIN   
(tblMember INNER JOIN tblResult ON tblMember.MemberID = tblResult.MemberID) ON    
tblRace.RaceID = tblResult.RaceID
GROUP BY tblMember.MemberName, tblPoint.Points
ORDER BY tblPoint.Points DESC;

有没有人能够指出我正确的方向?

最佳答案

我会说这个

GROUP BY tblMember.MemberName, tblPoint.Points
ORDER BY tblPoint.Points DESC;

应该更像这样:
GROUP BY tblMember.MemberName
ORDER BY Sum(tblPoint.Points) DESC;

另外,删除 tblPoint.Points在您的选择结束时。这只是一个单点值,你想要总和。

按积分分组意味着您将获得每个成员的一行和他们得分的积分 - 可能不是您想要的。

关于带有 JOIN、SUM 和 GROUP BY 的 SQL SELECT 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260984/

相关文章:

java - JPA 惰性插入

SQL 查询考虑当前表中的行并排除其他表中存在的数据

jsp - Tomcat 超时?

sql - 在数据仓库中使用 View

sql - 索引和嵌套集

php - 连接多个表,特定列返回 0? PHP/MySQL

vb.net - OleDbCommandBuilder 生成的 INSERT INTO 语句中存在语法错误

c# - 条件表达式中的数据类型与 REPLACE 不匹配,没有要替换的内容

ms-access - 3061 VBA 错误 - SQL 查询 "Too few parameters. Expected 1."简单查询

vba - 将文件拖放到 Access 表单中的未绑定(bind)超链接框中