SQL案例平均公式输出问题
SQL Case average formula output issue
大家 - 我需要你的帮助。
我有一个 SQL,我正在检查一个列以查看是否有金额。如果没有,我希望它输出 NULL。如果是这样,我希望它计算平均值。我正在使用这个 case 语句,NULL 语句工作正常,但我的平均语句只吐出 1 或 0。我已经搜索和测试了几个小时,但没有运气。
CASE
WHEN SUM(z.[SumTarget$]) = 0 THEN NULL
ELSE (1-(SUM(z.[SumBackorder])+SUM(z.[SumStockedOut]))/SUM(z.[CountofNo]))
END [SumAvPerc]
我已经检查了字符串中的每个字段,方法是注释掉第 3 行并使用它来确保公式中的数字是正确的,到目前为止一切都已检查完毕。
--ELSE SUM(z.[SumStockedOut])
这是字段和输出的示例。
**我不能post图片因为我需要更多声望点:( **
SQL服务器只对整数进行整数除法,所以你应该将你的值转换为非整数。
我经常使用 * 1.0
执行此操作,例如:
(CASE WHEN SUM(z.[SumTarget$]) <> 0
THEN (1-(SUM(z.[SumBackorder])+SUM(z.[SumStockedOut]))/SUM(1.0 * z.[CountofNo]))
END) as [SumAvPerc]
大家 - 我需要你的帮助。
我有一个 SQL,我正在检查一个列以查看是否有金额。如果没有,我希望它输出 NULL。如果是这样,我希望它计算平均值。我正在使用这个 case 语句,NULL 语句工作正常,但我的平均语句只吐出 1 或 0。我已经搜索和测试了几个小时,但没有运气。
CASE
WHEN SUM(z.[SumTarget$]) = 0 THEN NULL
ELSE (1-(SUM(z.[SumBackorder])+SUM(z.[SumStockedOut]))/SUM(z.[CountofNo]))
END [SumAvPerc]
我已经检查了字符串中的每个字段,方法是注释掉第 3 行并使用它来确保公式中的数字是正确的,到目前为止一切都已检查完毕。
--ELSE SUM(z.[SumStockedOut])
这是字段和输出的示例。 **我不能post图片因为我需要更多声望点:( **
SQL服务器只对整数进行整数除法,所以你应该将你的值转换为非整数。
我经常使用 * 1.0
执行此操作,例如:
(CASE WHEN SUM(z.[SumTarget$]) <> 0
THEN (1-(SUM(z.[SumBackorder])+SUM(z.[SumStockedOut]))/SUM(1.0 * z.[CountofNo]))
END) as [SumAvPerc]