2009-12-03 25 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