0
У меня есть следующая процедура для динамического поворота таблицы, но я получаю сообщение об ошибке.Pivot in SQL Server 2012
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 = @[email protected]+','
SELECT @LIST = @LIST+''''[email protected]+''''+','
--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
Что я делаю неправильно?
Какая ошибка? – Richard