TRANSFORM Avg(CASE WHEN [temp].[sumUnits] > 0
THEN [temp].[SumAvgRent] / [temp].[sumUnits]
ELSE 0
END) AS Expr1
SELECT [temp].[Description]
FROM [temp]
GROUP BY [temp].[Description]
PIVOT [temp].[Period];
需要为sql server转换此查询
我已经阅读了所有其他职位,但无法将此转换为相同的
1条答案
按热度按时间6jygbczu1#
下面是使用
PIVOT
表运算符的等效版本:SQL Fiddle演示
例如,这将为您提供:
**请注意,**使用MS SQL Server
PIVOT
表格运算子时,您必须输入枢纽数据栏的值。不过,在MS Access中,这是TRANSFORM
搭配PIVOT
所做的工作,也就是动态取得枢纽数据栏的值。在此情况下,您必须使用PIVOT
运算子动态地执行这项工作,如下所示:更新的SQL Fiddle演示
这应该会给予相同的结果: