Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

pivot sql dynamique dans le serveur sql

Vous êtes proche, mais pour que cela fonctionne, vous devez construire votre PIVOT à l'aide de SQL dynamique, puis exécutez-le. Ainsi, après avoir renseigné votre variable @Year, vous devez faire quelque chose comme ceci :

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)

Mais avant de faire cela, vous devriez jeter un œil à ce lien .