使用带有空值的Select Case

时间:2015-02-05 22:56:49

标签: sql-server

我正在尝试使用临时表#CombinedRevTable_2003中存在的两列STB和Addon的总和来填充列(2003_revenue)。但是,如果STB和Addon都为null,我想用Null填充列。

我的代码一直出现错误,因为关键字'来自'附近的语法不正确。

UPDATE data.revenuesummary
SET 2003_Revenue = (
    SELECT CASE 
      WHEN (STB IS NULL AND Addon IS NULL) THEN NULL 
      ELSE SUM(ISNULL(STB,0)) + SUM(ISNULL(Addon,0)) 
    FROM #CombinedRevTable_2003 b
    WHERE b.ID = data.revenuesummary.ID
)

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

您错过了CASE声明的END

UPDATE data.revenuesummary
SET 2003_Revenue = (
    SELECT CASE 
      WHEN (STB IS NULL AND Addon IS NULL) THEN NULL 
      ELSE SUM(ISNULL(STB,0)) + SUM(ISNULL(Addon,0))
    END
    FROM #CombinedRevTable_2003 b
    WHERE b.ID = data.revenuesummary.ID
)