--测试环境
create table ttttt(编号 varchar(20),序号 int,价格 int,数量 int)
insert ttttt values('1234',1,40,20)
insert ttttt values('1234',3,43,25)
insert ttttt values('5678',1,40,30)
insert ttttt values('5678',3,43,20)
insert ttttt values('5678',1,40,32)
insert ttttt values('5678',2,40,32)
--查看数据
select * from ttttt
--查看结果
declare @sql varchar(2000)
set @sql='select 编号'
select @sql=@sql+',[序号'+convert(varchar(20),序号)+']=isnull(sum(case when 序号='+convert(varchar(20),序号)+' then 数量 end),0)'
from ttttt
group by 序号
select @sql=@sql+',[价格合计]=sum(价格*数量) from ttttt group by 编号'
print @sql
exec(@sql)