【发布时间】:2012-05-02 17:43:08
【问题描述】:
这是我开始使用的代码,它不太正确:
UPDATE mt
SET mt.action = 'A', mt.TQA = TRUE,
mt.OPID = 'SYS', mt.rc= 'DAR', mt.h='DAR'
WHERE EXISTS
(
SELECT mt.Account FROM mt AS pm
WHERE mt.Account = pm.Account
GROUP BY pm.Account, pm.[amount] + Nz(pm.[SFS],0)
HAVING (pm.[amount] + Nz(pm.[SFS],0) > 500)
);
我需要的是帐户所有实例的金额和 SFS 的总和,其中超过 500。
例如,如果我有下表
Account Amount SFS
123 350.00 0.00
123 125.00 125.00
123 350.00 0.00
123 125.00 125.00
234 1600.00 5.00
345 2.50 4.60
我应该得到
123 1200.00
234 1605.00
我从上面的代码中得到的只是不同的总数,而不是组,这意味着它们不会被 >500 捕获:
123 350.00
123 250.00
234 1605.00
有人可以帮忙吗?这让我们 5 人感到难过。
【问题讨论】:
-
很公平。当我输入标签时,我在想“这将通过 vba 使用”,但它实际上不在问题中,所以你是对的。谢谢。
标签: sql group-by ms-access-2007 sum