0
我正在使用CTE在多個步驟中計算某些內容,並且我在保留[Value]值爲零的行時遇到了問題。這裏是我的代碼:SQL - 在鏈接CTE時零被刪除
sum_values
AS (
SELECT SUM([Value]) AS [Value]
, [Situation]
, [Category 3]
, [Category 2]
FROM #temp
GROUP BY [Situation]
, [Category 3]
, [Category 2]
),
rank_sums
AS (
SELECT ROW_NUMBER() OVER(PARTITION BY [Category 3]
, [Category 2] ORDER BY [Value]) AS [row]
, [Category 3]
, [Category 2]
, [Value]
--FROM #temp), -- Taking from the temp table preserves the zero-rows.
FROM sum_values), -- Taking from the previous CTE does not.
你可以從我的意見見上面的rank_sums CTE功能正常時,它需要從價值觀臨時表,但不是當它從一個CTE值。這裏有各種輸出我從兩個版本獲得:
當從臨時表服用:
row Category 3 Category 2 Value
1 C A -6
2 D A -4
3 E B 0
4 F B 1
5 G B 3
從CTE在拍攝:
row Category 3 Category 2 Value
1 C A -6
2 D A -4
3 F B 1
4 G B 3
5 H B 4
沒有人有經驗解決這個錯誤?
感謝您的回覆。我最初輸入的結果表是不正確的,所以錯誤可能是別的。當我執行'sum_values'的'SELECT'部分時,我得到Value = 0的行。 – cxm