-- try like this.declare @strSQL varchar(4000)
set @strSQL=''
select @strSQL=@strSQL+',sum(case 部门 when '''+a.部门+''' then 总金额 else 0 end) as 部门'+a.部门+'产品总金额'
from (select distinct 部门 from 出库量表) aexec('select b.类别名称 as 财务要的分类 '+@strSQL+'
from 出库量表 a join 类型表 b
on a.产品分类=b.类别ID
group by b.类别名称')
Go

解决方案 »

  1.   

    --tryselect 
    财务要的分类=类别名称,
    部门A产品总金额=isnull(出库量表.部门A产品总金额, 0),
    部门B产品总金额=isnull(出库量表.部门B产品总金额, 0)
    from 类别表 
    left join
    (
    select 产品分类,
    部门A产品总金额=sum(case when 部门='A' then 总金额 else 0 end),
    部门B产品总金额=sum(case when 部门='B' then 总金额 else 0 end)
    from 出库量表
    group by 产品分类
    )出库量表 on 出库量表.产品分类=类别表.类别ID
    where 类别表.财务要的类=1