动态转列

来源:互联网 发布:试卷扫描软件 编辑:程序博客网 时间:2024/05/16 00:51

create table ta(编号 varchar(10),店名 varchar(10))
insert into ta values('P001','3f17')
insert into ta values('P002','4421')
insert into ta values('P003','3A07')

create table tb(编号 varchar(10),数量 int)
insert into tb values('P001',5)
insert into tb values('P002',4)
insert into tb values('P003',1)

go
declare @sql varchar(4000)
set @sql=''
select @sql=@sql+',['+店名+']=sum(case a.店名 when '''+店名+''' then b.数量 else 0 end)' from ta
select @sql='select '+stuff(@sql,1,1,'')+' from ta a left join tb b on a.编号=b.编号 '
print @sql
exec(@sql)
drop table ta,tb
 

原创粉丝点击