繁体   English   中英

查询一组记录的总和大于零

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM