select @sql = @sql + ',sum(case tem.PrimaryCo when '''+primaryCo+''' 
                          then tem.allexport else 0 end) [' + primaryCo + ']'
      ,@sql2 = @sql2 + '+ sum(case tem.PrimaryCo when '''+primaryCo+''' 
                          then tem.allexport else 0 end) 
  from CoOrg where SecondaryCo is null@sql = @sql + @sql2 + ...

解决方案 »

  1.   

    declare @sql nvarchar(4000)set @sql = 'select tem.warehouse as 仓库'select @sql = @sql + ',sum(case tem.PrimaryCo when '''+primaryCo+''' 
                              then tem.allexport else 0 end) [' + primaryCo + ']'
      from CoOrg where SecondaryCo is nullselect @sql = @sql+ ',sum(tem.allexport) 总计 from (select EquipStructure.EquipType,export.PrimaryCo,sum(export.PlannedPrice*export.ExportCount) as allexport from export,Location,EquipStructure,Equip where ProjectName is not null and ProjectName <>'''' and  export.LocationID =Location.ID and export.equipID = equip.ID and equip.StructureID = EquipStructure.ID  group by EquipStructure.EquipType,export.PrimaryCo) tem group by tem.EquipType order by tem.EquipType'exec sp_executesql @sql