Sei vicino, ma per farlo funzionare devi costruire il tuo PIVOT
utilizzando SQL dinamico e quindi eseguirlo. Quindi, dopo aver popolato la tua variabile @Year, devi fare qualcosa del genere:
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)
Tuttavia, prima di farlo, dovresti dare un'occhiata a questo link .