下面的语句是交叉表查询,就是行转列,我想把结果插入到一张新表中,请问 into 新表 这语句该加在什么地方?create table hzl (name char(10),km char(10),cj int)
go
insert hzl values('张三','语文',80)
insert hzl values('张三','数学',86)
insert hzl values('张三','英语',75)
insert hzl values('李四','语文',78)
insert hzl values('李四','数学',85)
insert hzl values('李四','英语',78)
select * from hzl
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 hzl) as a
select @sql = @sql+' from hzl group by name'
exec(@sql)drop table hzl
go
insert hzl values('张三','语文',80)
insert hzl values('张三','数学',86)
insert hzl values('张三','英语',75)
insert hzl values('李四','语文',78)
insert hzl values('李四','数学',85)
insert hzl values('李四','英语',78)
select * from hzl
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 hzl) as a
select @sql = @sql+' from hzl group by name'
exec(@sql)drop table hzl
exec(@sql)
go
insert hzl values('张三','语文',80)
insert hzl values('张三','数学',86)
insert hzl values('张三','英语',75)
insert hzl values('李四','语文',78)
insert hzl values('李四','数学',85)
insert hzl values('李四','英语',78)
--select * from hzl
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 hzl) as a
select @sql = @sql+' into newtb from hzl group by name'
exec(@sql)select * from newtbdrop table hzl,newtb