sql >> Base de Datos >  >> RDS >> Sqlserver

pivote sql dinámico en el servidor sql

Estás cerca, pero para que esto funcione tienes que construir tu PIVOT usando SQL dinámico y luego ejecútelo. Entonces, después de completar su variable @Year, debe hacer algo como esto:

DECLARE @Query VARCHAR(MAX)

SET @Query = '
SELECT * from ( SELECT Amount, FYYear, column1, column2,column3 from BUYSCTE ) BUY 
PIVOT( SUM(Amount) FOR FYYear in ('+ @Year + ') ) pvt'

EXEC(@Query)

Aunque antes de hacer esto, debería echar un vistazo a este enlace .