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