【问题标题】:Exclude from result if Sum = 0如果 Sum = 0,则从结果中排除
【发布时间】:2015-03-30 05:43:26
【问题描述】:

如果(+)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**

【问题讨论】:

  • 你不能简化样本数据和预期输出!!?
  • 这么混乱,docentry 4594和4643是什么关系?为什么其他两个没有相互减去?
  • @Ceeee ,实际上可能 Column pa yan na ItemCode ,dun sila parehas kaya automatic na 减去 na sya 。 gusto ko sanang 我无视 ung ganoon 案。 Salamat Sir kung masasagot mo :)
  • 我明白了,您是菲律宾人 :) 查看我的回答,希望对您有所帮助
  • 即使你知道有人和你的母语一样,也要试着说英语

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


【解决方案1】:

由于聚合,我不确定是否按部分分组,但您可以试试这个:

 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)

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多