【发布时间】:2014-01-02 22:44:35
【问题描述】:
我有以下过程来动态旋转表格,但我收到了错误。
DECLARE @List varchar(5000)
DECLARE @CNT int
DECLARE @metric varchar(500)
SET @LIST = ''
DECLARE crs_TERRMETRICLIST CURSOR FOR SELECT
METRIC_NAME FROM TEMP.ALLTERRDISTINCTMETRICNAMES
OPEN crs_TERRMETRICLIST
FETCH NEXT FROM crs_TERRMETRICLIST INTO @metric
WHILE @@FETCH_STATUS =0
BEGIN
--SELECT @LIST = @LIST+@metric+','
SELECT @LIST = @LIST+''''+@metric+''''+','
--SET @LIST = COALESCE(@LIST,'''','')
FETCH NEXT FROM crs_TERRMETRICLIST INTO @metric
END
SET @LIST = LEFT(@LIST,LEN(@LIST)-1)
CLOSE crs_TERRMETRICLIST
DEALLOCATE crs_TERRMETRICLIST
PRINT @LIST
---SET @list = SELECT DISTINCT METRIC_NAME FROM TEMP.ALLTERRMETRICS
SELECT TERRITORY_ID, METRIC_NAME, METRIC_VALUE
FROM TEMP.ALLTERRMETRIC
PIVOT
(MAX(METRIC_VALUE)
FOR METRIC_NAME IN (@LIST)
) as pvt
ORDER BY pvt.TERRITORY_ID
我做错了什么?
【问题讨论】:
标签: sql-server dynamic pivot