首页 > 解决方案 > 如何在没有 group by 子句的情况下使用聚合函数(我使用的是 IFF 函数)

问题描述

我尝试在 GROUP BY 中包含 TYP_CD 及其工作,但我需要使用它而不在 GROUP BY 中使用 TYP_CD

SELECT TOP 100 P_NM AS 'P11',
IIF([TYP_CD] = 'REV', NULL , CAST((SUM([COST])/ SUM([CNT])) AS DECIMAL(18, 2))) AS 'cost1',
IIF([TYP_CD] = 'REV', CAST((SUM([COST])/ SUM([CNT])) AS DECIMAL(18, 2)), null) AS 'cost2',
IIF([TYP_CD] = 'REV', NULL , CAST((SUM([COST])/ SUM([CNT])) AS DECIMAL(18, 2))) AS 'cost3' 
FROM MMC_FIA_RPT_FACT 
WHERE P_NM IN('CARE')
GROUP BY P_NM,TYP_CD

结果应该在一排而不是三排。

标签: tsql

解决方案


推荐阅读