以下是SELECT
子句的一部分,它给出了除以0的错误:
(SUM([Hours])/(SUM(CASE WHEN J.Description <> 'I' THEN 1 ELSE 0 END))
以下是我如何纠正除以0的分母:
CASE WHEN(SUM(CASE WHEN J.Description <> 'I' THEN 1 ELSE 0 END)) = 0 THEN 1 ELSE SUM(CASE WHEN J.Description <> 'I' THEN 1 ELSE 0 END)) AS 'MTBUR'
这给我留下了语法错误。我做错了什么?
所以基本上如果SUM = 0那么我希望分母为1 ELSE
SUM(CASE WHEN J.Description <> 'I' THEN 1 ELSE 0 END
答案 0 :(得分:1)
这个怎么样?让case表达式的else部分为NULL,如果没有描述='I'
的行,则总和将为NULLSUM([Hours]) / ISNULL(SUM(CASE WHEN J.Description <> 'I' THEN 1 END), 1)
答案 1 :(得分:1)
CASE WHEN(SUM(CASE WHEN J.Description <> 'I' THEN 1 ELSE 0 END)) = 0 THEN 1 ELSE SUM (CASE WHEN J.Description <> 'I' THEN 1 ELSE 0 END))
结束 AS 'MTBUR'
需要另一个END
来结束嵌套案例