110,536
社区成员
发帖
与我相关
我的任务
分享
--sql版块这们的代码太多了!
create table #student(UserName varchar(20),Subject varchar(20),Score int)
insert into #student values('张三','语文',74)
insert into #student values('张三','数学',83)
insert into #student values('张三','物理',93)
insert into #student values('李四','语文',74)
insert into #student values('李四','数学',84)
insert into #student values('李四','物理',94)
/*
想变成(得到如下结果):
姓名 语文 数学 物理
---- ---- ---- ----
李四 74 84 94
张三 74 83 93
*/
declare @Sql varchar(1000)
set @sql='select b.UserName'
select @sql=@sql+' , sum(case when b.Subject= '''+Subject+''' then Score else 0 end)['+Subject+'] '
from (select distinct(Subject) from #student) b
set @sql=@sql+' from #student b group by b.UserName'
exec(@sql)