Create table test (name char(10),km char(10),cj int)
go
insert test values('张三','语文',80)
insert test values('张三','数学',86)
insert test values('张三','英语',75)
insert test values('李四','语文',78)
insert test values('李四','数学',85)
insert test values('李四','英语',78)
select * from test]
--查询结果
查询结果
----行数据以列进行显示
declare @sql varchar(8000)
set @sql = 'select name'
select @sql = @sql + ',sum(case km when '''+km+''' then cj end) ['+km+']'
from (select distinct km from test) as a
select @sql = @sql+' from test group by name'
---执行语句
exec(@sql)
-----显示结果
行数据以列进行显示
显然后者更加直观
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16436858/viewspace-548894/
,如需转载,请注明出处,否则将追究法律责任。