[英]SQL Query - Count number of records where SUM is greater than current record
[英]Query where sum of a group of records greater than ZERO
我试图在一个交易表上写一个查询,其中有各种项目的买卖交易。 尝试建立一个查询,我希望在给定的日期知道每个项目中有多少个。 那部分实现了。
现在的问题是,我编写的查询返回了曾经购买和出售过的物品清单,因此在给定的日期该物品显示为0作为余额。 我要避免在该特定日期之前余额为零的所有项目。
我的查询看起来像这样。
Select
I.itemName, I.iID,
sum(case when Tr.Buy=1 then Tr.qty when Tr.Buy=0 then Tr.qty*-1 else 0 end) as TotalQty
from
Trades Tr, ItemMast I
where
Tr.iID = I.iID
and I.iCode = '1253'
and Tr.tDate <= '5/13/2015'
group by
I.itemName, I.iID
order by
I.itemName, I.iID
我试图修改where子句,添加Where TotalQty > 0
,但是它不起作用。
不确定如何处理。 我正在尝试在SQL Server CE上构建它。
感谢您的帮助。
谢谢
尝试在having
子句中使用完整表达式,如下所示
Select I.itemName, I.iID, sum(case when Tr.Buy=1 then Tr.qty when Tr.Buy=0 then Tr.qty*-1 else 0 end) as TotalQty
from Trades Tr,ItemMast I
where Tr.iID = I.iID
and I.iCode = '1253'
and Tr.tDate<= '5/13/2015'
group by I.itemName, I.iID
having sum(case when Tr.Buy=1 then Tr.qty when Tr.Buy=0 then Tr.qty*-1 else 0 end) > 0
order by I.itemName, I.iID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.