declare @sql varchar(8000)
set @sql = 'select user_Id' select @sql = @sql +', sum(case sort when ''' + sort + ''' then 1 else 0 end) as [' + sort + '(次)]'
from (select distinct sort from clocking) xset @sql = @sql + ' from clocking group by user_Id order by user_Id'exec (@sql)

解决方案 »

  1.   

    修改了一下,使用nvarchar可避免乱码,另外按sort排序:declare @sql nvarchar(4000)set @sql = 'select user_Id' select @sql = @sql +', sum(case sort when N''' + sort + ''' then 1 else 0 end) as [' + sort + '(次)]'
    from (select distinct sort from clocking) x
    order by sort descset @sql = @sql + ' from clocking group by user_Id order by user_Id'exec (@sql)