Sql 减去两列
我有以下MS Access表:Sql 减去两列,sql,ms-access,ms-access-2010,Sql,Ms Access,Ms Access 2010,我有以下MS Access表: itemid qty flag 1 2 0 1 1 1 2 5 0 2 4 1 我想写一个查询来获取余额(qty)并按标记进行分组 例如: (sum of qty where flag =0) - (sum of qty where flag =1) 我的最终输出应该是: 1=1 2=1 使用条件聚合: SELECT itemid, NZ(SUM
itemid qty flag
1 2 0
1 1 1
2 5 0
2 4 1
我想写一个查询来获取余额(qty
)并按标记进行分组
例如:
(sum of qty where flag =0) - (sum of qty where flag =1)
我的最终输出应该是:
1=1
2=1
使用条件聚合:
SELECT itemid,
NZ(SUM(IIF(flag = 0, qty, 0)), 0) - NZ(SUM(IIF(flag = 1, qty, 0)), 0) AS difference
FROM yourTable
GROUP BY itemid
感谢您的帮助,当itemid有标志1和0时,差异会很好地出现。但是如果itemid只有标志0,那么差异会是负值。您希望如何处理差异可能为负值的情况?您想在这种情况下显示零吗?如果差异为负,则应为负。但是如果1-null=1,则将SUM()
调用包装到NZ()
,并在给定标志(0或1)没有出现一次的情况下使用零。因此,对于我的错误,我正在运行您的查询更改1和0