Convert Rows to column in SQL Server

  1. declare @columns varchar(max)  
  2. declare @convert varchar(max)  
  3. select  @columns = stuff(( select '],[' + username   
  4.                     from TableName  
  5.                     order by '],[' + convert(varchar(max), points) desc   
  6.                     for xml path('')), 1, 2, '') + ']'  
  7.    
  8. set @convert =  
  9. 'select * from (select * from TableName) Tbl  
  10.     pivot(sum(points) for username  
  11.     in ('+@columns+')) as pivottable'  
  12.   
  13. execute (@convert