Близо сте, но за да работи това, трябва да конструирате вашия PIVOT
използвайки динамичен SQL и след това го изпълнете. И така, след като попълните вашата променлива @Year, трябва да направите нещо подобно:
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)
Но преди да направите това, трябва да погледнете тази връзка .