0
我有一個看起來像這樣如何組總結與CASE列在SELECT
Value | Type
----- | ------
100 | Travel
200 | G&A
100 | OH
300 | Travel
數據我想概括起來是這樣的:
TotalValue | Type
---------- | ------
400 | Travel
300 | Non-Travel
我寫這樣的查詢:
SELECT
SUM([Value]) as 'TotalValue',
CASE [Type] WHEN 'Travel' THEN [Type] ELSE 'Non-Travel' END AS 'Type'
FROM
#tableName
GROUP BY
[Type]
但是結果出來,因爲這反而:
TotalValue | Type
---------- | ------
400 | Travel
200 | Non-Travel
100 | Non-Travel
我該如何解決這個問題?在此先感謝您的幫助!
您遇到了操作順序問題。 FROM GROUP BY,然後運行SELECT。在執行group by時,別名'type'不在範圍內。 [type]中分組的值是數據庫中的類型值;而不是你的案例重新評估的那些。然後選擇運行並且案例評估G&A和OH爲非旅行;所以你認爲引擎沒有正確分組。 – xQbert