【发布时间】:2013-08-20 09:58:10
【问题描述】:
我有一个相当复杂的选择查询,其中包含两种类型的 SUM 表达式。简单求和:
SUM(X)
还有更复杂的 SUM/CASE:
SUM(CASE WHEN TYPE IN (
'ORANGES',
'LEMONS',
'LIMES')
THEN X
ELSE 0 END) AS SUM_CITRUS
现在,问题来了:我需要这两个 SUMS 来评估为 NULL只有如果所有的值总和为 null。如果求和的任何一个值是一个值,则需要返回总和,就好像所有空值都被替换为 0。
对于所示的案例,如何实现?我关心的顺序是效率和简单性。
【问题讨论】: