select 职务类别,一级=isnull(sum(case course when '一级' then 金额 end),0),
               二级=isnull(sum(case course when '二级' then 金额 end),0),
               三级=isnull(sum(case course when '三级' then 金额 end),0)
   from paygrade 
   group by 职务类别
   order by 职务类别

解决方案 »

  1.   

    晕,错了个字段……
    select 职务类别,一级=isnull(sum(case 等级 when '一级' then 金额 end),0),
                   二级=isnull(sum(case 等级 when '二级' then 金额 end),0),
                   三级=isnull(sum(case 等级 when '三级' then 金额 end),0)
       from paygrade 
       group by 职务类别
       order by 职务类别
      

  2.   

    楼上的sql写的不错,
    我估计楼主还是实现不了
      

  3.   

    谢谢四楼的,
    但是我不是要用SQL来实现,我要在C#程序里面实现,能够在datagrid里面呈现这样的效果
    并且能够在具体的单元格里面修改金额数据,写到数据库中……