declare @sql varchar(8000) set @sql = 'select a.列A,'select @sql = @sql + 'sum(case a.列B when '''+a.列B+''' then a.列C else 0 end) as ['+b.列D+'],' from (select distinct 列B from 表1) aselect @sql = left(@sql,len(@sql)-1) + ' from 表1 a join 表2 b on a.列B=b.列B group by a.列A'exec(@sql) go
H1NAME、H2NAME...HnNAME是在表2中的,请看清楚。
declare @sql varchar(8000) set @sql = 'select a.列A'select @sql = @sql + ',sum(case b.列D when '''+列D+''' then a.列C else 0 end) as ['+列D+']' from (select distinct 列D from 表2) aselect @sql =@sql+' from 表1 a join 表2 b on a.列B=b.列B group by a.列A'exec(@sql) go
set @sql = 'select a.列A,'select @sql = @sql + 'sum(case a.列B when '''+a.列B+'''
then a.列C else 0 end) as ['+b.列D+'],'
from (select distinct 列B from 表1) aselect @sql = left(@sql,len(@sql)-1) + ' from 表1 a join 表2 b on a.列B=b.列B
group by a.列A'exec(@sql)
go
set @sql = 'select a.列A'select @sql = @sql + ',sum(case b.列D when '''+列D+''' then a.列C else 0 end) as ['+列D+']' from (select distinct 列D from 表2) aselect @sql =@sql+' from 表1 a join 表2 b on a.列B=b.列B group by a.列A'exec(@sql)
go