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