日期:2014-05-18  浏览次数:20342 次

简单sql 帮下忙碌
A B 
  a 1
  a 2
  a 3
  a 4

期户结果
A B C D E
a 1 2 3 4

------解决方案--------------------
SQL code
--动态SQL,指subject不止语文、数学、物理这三门课程。
declare @sql varchar(8000)
set @sql = 'select Name as ' + '姓名'
select @sql = @sql + ' , max(case Subject when ''' + Subject + ''' then Result else 0 end) [' + Subject + ']'
from (select distinct Subject from tb) as a
set @sql = @sql + ' from tb group by name'
exec(@sql) 
/*
姓名         数学        物理        语文          
---------- ----------- ----------- ----------- 
李四         84          94          74
张三         83          93          74
*/