06/01/2012, 16:35
|
| | Fecha de Ingreso: agosto-2011
Mensajes: 32
Antigüedad: 13 años, 2 meses Puntos: 0 | |
pivot dinamico Hola.
De antemano les agradezco sus respuestas.
Tengo el siguiente código para intentar hacer un pívot dinámico:
DECLARE @TableYears AS TABLE(excont nvarchar(50) NOT NULL)
DECLARE @Year nvarchar(50), @YearsPVT NVARCHAR(500)
INSERT INTO @TableYears SELECT DISTINCT excont FROM tempjai
SET @Year = (SELECT MIN(excont) FROM @TableYears)
SET @YearsPVT=N''
WHILE @Year IS NOT NULL
BEGIN
SET @YearsPVT = @YearsPVT + N',['+ CONVERT(NVARCHAR(10),@Year) + N']'
SET @Year = (SELECT MIN(excont) FROM @TableYears WHERE excont>@Year)
END
SET @YearsPVT = SUBSTRING(@YearsPVT,2,LEN(@YearsPVT))
--PRINT @YearsPVT
DECLARE @SQL NVARCHAR(MAX)
SET @SQL = N'SELECT *
FROM (
SELECT esnrso,excont, exvari FROM [109_11_11]
) pvt
PIVOT (sum(exvari) FOR excont IN (' + @YearsPVT + ')) AS PVJPQ
ORDER by esnrso'
EXECUTE sp_executesql @SQL
Pero cuando lo ejecuto me sale este error q no he podido corregir:
Unclosed quotation mark after the character string '0000)) AS PVJPQ
ORDER by esnrso'.
Alguien me puede ayudar gracias. |