代码之家  ›  专栏  ›  技术社区  ›  Sev

求和期间的SQL数学问题-在删除任一条件时有效

sql
  •  0
  • Sev  · 技术社区  · 15 年前

    我正在使用MS SQL,这是我的查询。。。

    SELECT SUM(Quantity) FROM table1
    WHERE [item_no]='0052556'
    AND [qty_to_ship] > 0
    AND [type] = 5
    

    为了澄清,这些查询工作正常 :

    SELECT SUM(Quantity) FROM table1
    WHERE [item_no]='0052556'
    AND [type] = 5
    

    SELECT SUM(Quantity) FROM table1
    WHERE [item_no]='0052556'
    AND [qty_to_ship] > 0
    

    是什么原因造成的?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Tobiasopdenbrouw    15 年前

    你是否有一个记录,在你的(最严格的)地方满足所有的要求?

    如果没有-那是你的答案。

        2
  •  2
  •   D'Arcy Rittich    15 年前

    简单地说,没有与这两个子句匹配的记录

    [qty_to_ship] > 0
    AND [type] = 5
    

    Quantity 现场。

        3
  •  0
  •   Sachin Shanbhag    15 年前

    请检查下面的查询是否返回任何行。

    SELECT * FROM table1 
    WHERE [item_no]='0052556' 
    AND [qty_to_ship] > 0 
    AND [type] = 5 
    

    如果返回至少一行,那么SUM不应该返回NULL