求和期间的SQL数学问题-在删除任一条件时有效
我正在使用MS SQL,这是我的查询求和期间的SQL数学问题-在删除任一条件时有效,sql,Sql,我正在使用MS SQL,这是我的查询 SELECT SUM(Quantity) FROM table1 WHERE [item_no]='0052556' AND [qty_to_ship] > 0 AND [type] = 5 有趣的是,上面的查询返回“NULL”……但是,如果我删除最后两个条件中的任何一个,它都可以正常工作(返回实数) 为了澄清,这些查询工作正常: SELECT SUM(Quantity) FROM table1 WHERE [item_no]='0052556' A
SELECT SUM(Quantity) FROM table1
WHERE [item_no]='0052556'
AND [qty_to_ship] > 0
AND [type] = 5
有趣的是,上面的查询返回“NULL”……但是,如果我删除最后两个条件中的任何一个,它都可以正常工作(返回实数)
为了澄清,这些查询工作正常:
SELECT SUM(Quantity) FROM table1
WHERE [item_no]='0052556'
AND [type] = 5
及
还要注意:“type”是一个PK,int,而不是null
这可能是什么原因造成的?您是否有一份记录可以满足您(最严格的)WHERE中的所有要求 如果不是,那就是你的答案
编辑:RedFilter的评论是正确的。您可以在选择部分添加您自己的逻辑(ISNULL等),将NULL更改为您喜欢的值(例如0)您是否有一个记录可以满足您(最严格的)WHERE中的所有要求 如果不是,那就是你的答案
编辑:RedFilter的评论是正确的。您可以在SELECT部分添加自己的逻辑(ISNULL等),将NULL更改为您喜欢的值(例如0)简单地说,没有与这两个子句匹配的记录
[qty_to_ship] > 0
AND [type] = 5
或者匹配的记录在
数量字段中包含NULL。简单地说,没有与这两个子句匹配的记录
[qty_to_ship] > 0
AND [type] = 5
或者匹配的记录在数量字段中包含NULL。请检查以下查询是否返回任何行
SELECT * FROM table1
WHERE [item_no]='0052556'
AND [qty_to_ship] > 0
AND [type] = 5
如果此查询返回至少一行,则总和不应返回NULL请检查以下查询是否返回任何行
SELECT * FROM table1
WHERE [item_no]='0052556'
AND [qty_to_ship] > 0
AND [type] = 5
如果这是返回你至少一行,那么总和不应该返回空值这里几乎是凌晨5点,你绝对正确,现在我觉得很傻。。。谢谢快到凌晨5点了,你说得很对,现在我觉得自己很傻。。。谢谢