【发布时间】:2014-07-01 13:21:10
【问题描述】:
我有一个包含以下字段的 Cash 表:doc_num,narration,date,creditor,debtor 现在我想将 sum(creditor-debtor) 显示为每行的余额。还显示以前的余额 像这样:
--------------------------------------------------------------------------------------
doc_num-------date----------narration------------credit-------debtor---balance
--------------------------------------------------------------------------------------
previous balance 2000
1 2014/06/10 remit 5000 0 5000
2 2014/06/12 bar 0 2000 3000
3 2014/06/15 remit 1000 0 4000
这是我的查询:
SELECT '' AS docnum,
'' AS c_date,
'previous balance' AS narration,
" " AS creditor,
" " AS debtor,
Sum(creditor-debtor),
"c_date< ' " & 2014/06/10 & "'" AS Balance
FROM Cash
UNION
SELECT doc_num,
c_date,
narration,
creditor,
debtor,
Sum(creditor-debtor),
"doc_num<=" & doc_num AS Balance
FROM Cash
WHERE (((Cash.c_date) Between ("2014/06/10") And ("2014/06/15")))
ORDER BY docnum;
我遇到了这个错误: 您尝试执行的查询不包括指定的表达式 'doc_num' 作为聚合的一部分 我在访问(mdb)中使用此查询 什么是正确的查询? 谢谢
【问题讨论】:
-
在列出所有非聚合列的 where 子句之后缺少
group by语句。 -
这是 ms 访问...正如错误所说:)
-
您使用的是 SUM,因此您需要使用 group by