我是一名SQL菜鸟。我正在写一个查询:
SELECT iif([Cancellation Date] is NULL, 'Not Cancelled', 'Cancelled') as Status,
SUM(Loss) as [Total Loss]
from INSURANCE_DATA
GROUP by Status;
所以基本上我想根据政策状况汇总损失。 此查询无法运行,因为我正在按此查询中生成的新变量进行分组?
我可以根据这个查询编写另一个查询以获得我想要的内容,但有没有任何有趣的解决方案使我能够在一个查询中完成它?
答案 0 :(得分:1)
你说得对,你不能在组中使用别名。但是,如果你按价值组建你的小组......
GROUP BY [Cancellation Date] is NULL
然后它实际上是一样的。
答案 1 :(得分:1)
您是否尝试按照您在select中声明的表达式进行分组,而不是引用它的别名?
e.g。
SELECT iif([Cancellation Date] is NULL, 'Not Cancelled', 'Cancelled') as Status,
SUM(Loss) as [Total Loss] from INSURANCE_DATA GROUP BY iif([Cancellation Date] is NULL,
'Not Cancelled', 'Cancelled');
丹