declare @sql varchar(8000) set @sql='' select @sql=@sql+',['+费用类别中文名+']=sum(case 费用类别标志 when '+rtrim(费用类别标志)+' then 费用数量 end)' from 表二 order by 费用类别标志 set @sql='select 产品编号'+@sql+' from 表一 group by 产品编号' exec(@sql)
declare @sql varchar(8000) set @sql='' select @sql=@sql+',sum(case when 费用类别标志='+cast(a.费用类别标志 as varchar)+' then 费用数量 else 0 end) as ['+b.费用类别中文名+']' from 表一 a,表二 b where a.费用类别标志=b.费用类别标志 group by a.费用类别标志,b.费用类别中文名exec('select 产品编号'+@sql+' from 表一 group by 产品编号')
set @sql=''
select @sql=@sql+',['+费用类别中文名+']=sum(case 费用类别标志 when '+rtrim(费用类别标志)+' then 费用数量 end)' from 表二 order by 费用类别标志
set @sql='select 产品编号'+@sql+' from 表一 group by 产品编号'
exec(@sql)
set @sql=''
select @sql=@sql+',sum(case when 费用类别标志='+cast(a.费用类别标志 as varchar)+' then 费用数量 else 0 end) as ['+b.费用类别中文名+']'
from 表一 a,表二 b
where a.费用类别标志=b.费用类别标志
group by a.费用类别标志,b.费用类别中文名exec('select 产品编号'+@sql+' from 表一 group by 产品编号')