你的问题有问题 H1那来那么多NAME

解决方案 »

  1.   

    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
      

  2.   

    H1NAME、H2NAME...HnNAME是在表2中的,请看清楚。
      

  3.   

    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