Jesteś blisko, ale aby to zadziałało, musisz skonstruować swój PIVOT
używając dynamicznego SQL, a następnie go wykonaj. Tak więc, po wypełnieniu zmiennej @Year, musisz zrobić coś takiego:
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)
Zanim to zrobisz, powinieneś spojrzeć na ten link .