2017-04-07 40 views
2

我有以下的MS Access表:减两列

itemid qty flag 
1   2 0 
1   1 1 
2   5 0 
2   4 1 

我想编写一个查询,以取得平衡(qty-qty)和组由flag

举个例子:

(sum of qty where flag =0) - (sum of qty where flag =1) 

我最后的输出应该是:

1=1 
2=1 

回答

2

使用条件汇总:

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 
+0

感谢您的帮助差异来很好地时的itemid有标志1和0。但是如果itemid只有0标志,那么差值就是负值 – ashan

+0

你想怎么样o处理差异可能为负数的情况?你想在这种情况下显示零? –

+0

如果差值会为负数,那么它应该是负数。但如果1- null = 1 – ashan