2009-12-03 80 views
2

我有一个存储在MS Access中的查询,它正在执行Access表中的标准选择。我想在最后添加一个汇总行,显示上述一些数据的总和。添加一个摘要行到MS Access查询

我看过DSum(),但它不适合,因为我不得不在每行中包含运行总数而不仅仅是结尾。

此外,请注意,我不想在列a中总结数据 - 我想为列a的摘要获取空字段。

例子:

a | b | c 
------------- 
0 | 1 | 2 
1 | 1 | 9 

    | 2 | 11 <-- Sums data above 

有谁知道这个问题怎么可以在Access解决?另一种方法可能是定义第二个查询来完成聚合,然后将其与第一个查询的记录集进行合并,但这对我来说似乎并不优雅。

在SQL服务器中,显然可以使用“COMPUTE”或“ROLLUP”,但这些在MS Access下不受支持。

+0

同意,这应该是一个报告。 – onedaywhen 2009-12-04 09:47:42

+1

谢谢你的建设性批评大卫。我可以指出,我必须随即使用此摘要行构建HTML表格,然后通过电子邮件发送。如果您认为这可以通过包括HTML格式等报告更容易地解决,那么我很乐意听到它。 – Patrick 2009-12-04 11:05:53

+0

我已经使用这样的构造来构建HTML自己,这很方便。 – Fionnuala 2009-12-04 13:18:41

回答

5

你可以使用一个联合查询:

SELECT "" As Sort, a,b,c FROM Table 
UNION ALL 
SELECT "Total" As Sort, Sum(a) As A, Sum(b) As b, Sum(c) As C FROM Table 
ORDER BY Sort 

编辑:

SELECT "" As Sort, a,b,c FROM Table 
UNION ALL 
SELECT "Total" As Sort, "" As A, Sum(b) As b, Sum(c) As C FROM Table 
ORDER BY Sort 
+0

我已经做了一个小小的改变,而不是1作为排序,我用“”和“总”,我认为这是更好的。 – Fionnuala 2009-12-03 11:11:44

+0

为了增加一点难度,我不想总结所有列,例如b和c。 – Patrick 2009-12-03 11:20:33

+0

您可以使用虚拟值。请参阅我的编辑。 – Fionnuala 2009-12-03 11:33:43