Pivot Query in SQL Server 2008

  1.  CREATE TABLE #REVENUE  
  2. (  
  3. ID             INT PRIMARY KEY IDENTITY(1,1) NOT NULL,  
  4. [MONTH]        VARCHAR(8) NOT NULL,  
  5. SALES          DECIMAL(8,2) NOT NULL,  
  6. EmpId int  
  7. )  

  8. INSERT INTO #REVENUE  
  9. ([MONTH],SALES,EmpId)  
  10. VALUES  
  11. ('JAN-2015', 200000.16,1),  
  12. ('FEB-2015', 220000.17,1),  
  13. ('MAR-2015', 227000.55,2),  
  14. ('APR-2015', 247032.75,1),  
  15. ('MAY-2015', 287652.75,2),  
  16. ('JUN-2015', 265756.75,2),  
  17. ('JUN-2016', 265.75,3)  
  18. select * from #REVENUE
  19.   
  20. truncate table #Revenue  
  21. ---------------Simple Pivot example-------  
  22. SELECT * FROM  
  23. (SELECT       
  24.     [MONTH],   
  25.     SALES,EmpId  
  26. FROM #REVENUE)X  
  27. PIVOT   
  28. (  
  29.     AVG(SALES)  
  30.     for [MONTHin ([JAN-2015],[FEB-2015],[MAR-2015],[APR-2015],[MAY-2015])  
  31. )p  

  32. -------------Dynamic pivot table----  
  33. DECLARE @cols AS NVARCHAR(MAX),  
  34. @query  AS NVARCHAR(MAX)  
  35.   
  36. SELECT @cols = STUFF((SELECT  ',' + QUOTENAME([MONTH])   
  37.                     FROM #REVENUE  
  38.             FOR XML PATH(''), TYPE  
  39.             ).value('.''NVARCHAR(MAX)')   
  40.         ,1,1,'')  
  41. print  @cols  
  42. SELECT @query =   
  43. 'SELECT * FROM  
  44. (SELECT       
  45.     [MONTH],   
  46.     SALES,EmpId  
  47. FROM #REVENUE )X  
  48. PIVOT   
  49. (  
  50.     AVG(SALES)  
  51.     for [MONTHin (' + @cols + ')  
  52. ) P'  
  53.   
  54. EXEC SP_EXECUTESQL @query  
I have created a table and implemented pivot query.