查询在MS Access中求和和抑制

时间:2012-02-08 20:11:41

标签: sql ms-access sum

我目前拥有的表格结构如下:

类别 ----- 说明 ----- 阈值 ------ 错误

Cat1 ---------------信息------------------ 90%---------- --1

Cat1 ---------------信息------------------ 90%---------- --- 4

Cat2 ---------------手册-------------- 15%------------ 5 < / p>

Cat2 ---------------手册-------------- 15%------------ 2 < / p>

Cat2 ---------------手册-------------- 15%------------ 0 < / p>

但我希望得到这样的结果:

类别 ----- 说明 ----- 阈值 ------ 错误

Cat1 ---------------信息------------------ 90%---------- --5

Cat2 ---------------手册-------------- 15%------------ 7 < / p>

我在SQL的末尾尝试了SUM [错误]和GROUP,但它似乎仍然无法解决问题。

1 个答案:

答案 0 :(得分:2)

SELECT 
    Category,
    [Description],
    Threshold,
    Sum(Errors) AS SumOfErrors
FROM YourTable
GROUP BY
    Category,
    [Description],
    Threshold;

我不明白为什么该查询不应该得到你想要的。注意我用方括号括起了Description。描述是一个保留字(参见Problem names and reserved words in Access),方括号使数据库引擎清楚地表明你引用的是字段名而不是保留字。

我不知道这个含糊不清的名字是你麻烦的原因。然而,几乎不可能预测保留名称何时会咬你。在你遇到伤害之前,你可以在很多情况下都很好。最好避免对数据库对象名使用保留字。当你完全无法避免它们时,至少用你方括号括起来的方括号括起来。