entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Pivot Dinamico SQL Server error

Estoy realizando un Pivot Dinamico, El Query es el siguiente... Pero me genera error por fa pido una ayuda

DECLARE @AmortizacionPVT AS NVARCHAR (MAX)
DECLARE @Descriptivo AS VARCHAR (20)
DECLARE @NumeroDocumento INT

SET @Descriptivo = (SELECT MIN (Descriptivo) FROM ccCarteraComponente)
SET @NumeroDocumento = (SELECT NumeroDoc FROM ccCreditoPlanPagos WHERE NumeroDoc = @NumeroDocumento)
SET @AmortizacionPVT = N''

WHILE @NumeroDocumento IS NOT NULL
BEGIN 

SET @AmortizacionPVT = @AmortizacionPVT + N',['+@NumeroDocumento+N']'
SET @NumeroDocumento = (SELECT TOP (1)NumeroDoc
                    FROM ccCreditoPlanPagos
                    WHERE NumeroDoc = @NumeroDocumento
                    ORDER BY NumeroDoc)
SET @NumeroDocumento = (SELECT MIN (CRPP.NumeroDoc) FROM ccCreditoPlanPagos AS CRPP
                        INNER JOIN ccCreditoComponentes CRCOMP ON CRPP.NumeroDoc = CRCOMP.NumeroDoc
                        INNER JOIN ccCarteraComponente CACOMP ON CRCOMP.ComponenteCarteraID = CACOMP.ComponenteCarteraID
                        WHERE Descriptivo = @Descriptivo)

END

print @AmortizacionPVT
SET @AmortizacionPVT = SUBSTRING(@AmortizacionPVT, 2, LEN(@AmortizacionPVT))
print 'ok'
print @AmortizacionPVT

DECLARE @sql AS nvarchar(MAX)

SET @sql = N'SELECT *  FROM (SELECT    distinct CrPP.NumeroDoc,
                                    CaComp.Descriptivo,    
                                    crcomp.ComponenteCarteraID,
                                    SUM(CRCOMP.CuotaValor)
                            FROM    ccCreditoPlanPagos CRPP 
                            INNER JOIN ccCreditoComponentes CRCOMP ON CRPP.NumeroDoc = CRCOMP.NumeroDoc
                            INNER JOIN ccCarteraComponente CACOMP ON CRCOMP.ComponenteCarteraID = CACOMP.ComponenteCarteraID) PIV
            PIVOT (SUM(CRCOMP.CuotaValor) FOR Descriptivo IN ('+@AmortizacionPVT+')) AS TablaFinal'

EXEC SP_EXECUTESQL @sql

el error es : Msg 102, Level 15, State 1, Line 8
Incorrect syntax near ')'.

0voto

bl4z3r comentado

¿Que versión de SQL Server utilizas?

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta