2015-02-05 54 views
0

我想填充有兩列,STB和附加組件中存在的臨時表#CombinedRevTable_2003的總和列(2003_revenue)。但是,如果STB和附加組件都是空的,我想填充空列。使用選擇案例時有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

您缺少CASE語句

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 
) 
一個END