Du är nära, men för att detta ska fungera måste du konstruera din PIVOT
använda dynamisk SQL och sedan köra den. Så efter att du har fyllt i din variabel @Year måste du göra något så här:
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)
Innan du gör detta bör du dock ta en titt på denna länk .