再请教一下:
create table T(
xh char(12) ,
cjx char(2) ,
cj char(5) )
insert into T values ('A','X','good')
insert into T values ('A','Y','bad')
insert into T values ('A','Z','ok')
insert into T values ('B','X','good')
insert into T values ('B','Y','ok')
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+',max(case when cjx='''+cjx+''' then cj else '''' end) as '+cjx
from T
group by cjx
select @sql='select xh'+@sql+' from T group by xh'
exec(@sql)
这样转成的结果怎样保存为新表tb?
create table T(
xh char(12) ,
cjx char(2) ,
cj char(5) )
insert into T values ('A','X','good')
insert into T values ('A','Y','bad')
insert into T values ('A','Z','ok')
insert into T values ('B','X','good')
insert into T values ('B','Y','ok')
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+',max(case when cjx='''+cjx+''' then cj else '''' end) as '+cjx
from T
group by cjx
select @sql='select xh'+@sql+' from T group by xh'
exec(@sql)
这样转成的结果怎样保存为新表tb?
insert tb exec(@sql)
xh char(12) ,
cjx char(2) ,
cj char(5) )
insert into T values ('A','X','good')
insert into T values ('A','Y','bad')
insert into T values ('A','Z','ok')
insert into T values ('B','X','good')
insert into T values ('B','Y','ok')
declare @sql varchar(8000)
set @sql=''
select @sql=@sql+',max(case when cjx='''+cjx+''' then cj else '''' end) as '+cjx
from T
group by cjx
select @sql='select xh'+@sql+' from T group by xh'
create table tb(collist...)
insert tb exec(@sql)
或者
select @sql='select xh'+@sql+' into Temp from T group by xh'
exec(@sql)
select * from Temp
select ....
into tb
from ...
[/code]