如果Sum = 0,则从结果中排除

时间:2015-03-30 05:43:27

标签: sql sql-server-2008 sql-server-2005

如果(+)LotQty(-)LotQty具有相同但Transtype不同的结果,如何从结果中排除记录。

示例:来自此

Docentry  Transtype  LotQty
4594      67          250.000000
4643      60         -250.000000
9253      67          100.000000
16822     60         -200.000000

到这个

Docentry  Transtype  LotQty
9253      67         100.000000
16822     60        -200.000000**

2 个答案:

答案 0 :(得分:0)

我不确定是否因为汇总而受到影响,但你可以试试这个:

 SELECT A.Docentry, A.Transtype, A.LotQty 
 FROM your_table as A 
 WHERE A.ItemCode IN 
    (SELECT B.ItemCode 
      FROM your_table as B 
      WHERE SUM(B.LotQty) = 0 
      GROUP BY B.ItemCode)

答案 1 :(得分:0)

您可以使用ABS功能获取绝对值并进行比较。

Select * from Table T1 join Table T2 Where ABS(T1.LotQty)<>ABS(T2.LotQty)