yup. there's a way. but you've to use dynamic sql for that.see belowDECLARE @YearList varchar(max),@Sql varchar(max)SELECT @YearList=STUFF((SELECT DISTINCT ','+ CAST(FY AS varchar(4)) FROM YourTable FOR XML PATH('')),1,1,'')SET @Sql='SELECTFROM (SELECT FY,Quarter,CostFROM YourTable tUNPIVOT (Cost FOR Quarter IN ([Q1Cost],[Q2Cost],[Q3Cost],[Q4Cost]))u)mPIVOT (SUM(Cost) FOR FY IN ([' + REPLACE(@YearList,',','],[')+ ']))p' EXEC(@Sql)