select 编号 , 姓名,1月,2月,3月,4月, 工资合计=1月+2月+3月+4月 from (select 编号 , 姓名,
sum(case when 月份='2003-01' then 工资 else 0 end) as 1月,
sum(case when 月份='2003-02' then 工资 else 0 end) as 2月,
sum(case when 月份='2003-03' then 工资 else 0 end) as 3月,
sum(case when 月份='2003-04' then 工资 else 0 end) as 4月
from tablename
group by 编号 , 姓名)a order by 编号 , 姓名

解决方案 »

  1.   

    select A.编号 , B.姓名,1月,2月,3月,4月, 工资合计
    from (select 编号, 姓名, sum(工资) as 工资合计 from table group by 编号, 姓名) A
    inner join (select 编号, 工资 AS 1月 from table where 月份='2003-01') B on A.编号=B.编号
    inner join (select 编号, 工资 AS 2月 from table where 月份='2003-02') B on A.编号=B.编号
    inner join (select 编号, 工资 AS 3月 from table where 月份='2003-03') B on A.编号=B.编号
    inner join (select 编号, 工资 AS 4月 from table where 月份='2003-04') B on A.编号=B.编号
      

  2.   

    select 编号 , 姓名,
    sum(case when 月份='2003-01' then 工资 else 0 end) as 1月,
    sum(case when 月份='2003-02' then 工资 else 0 end) as 2月,
    sum(case when 月份='2003-03' then 工资 else 0 end) as 3月,
    sum(case when 月份='2003-04' then 工资 else 0 end) as 4月,
    sum(工资) as 工资合计
    from tablename
    group by 编号 , 姓名
      

  3.   

    我也曾有过相似问题,请访问这里:http://expert.csdn.net/Expert/topic/1964/1964358.xml?temp=.8975336
      

  4.   

    select 編號,姓名,
    sum(case when 月份 like '%01' then 工資 end) 1月,
    sum(case when 月份 like '%02' then 工資 end) 2月,
    sum(case when 月份 like '%03' then 工資 end) 3月,
    sum(case when 月份 like '%04' then 工資 end) 4月,
    sum(case when 月份 like '%05' then 工資 end) 5月,
    sum(case when 月份 like '%06' then 工資 end) 6月,
    sum(case when 月份 like '%07' then 工資 end) 7月,
    sum(case when 月份 like '%08' then 工資 end) 8月,
    sum(case when 月份 like '%09' then 工資 end) 9月,
    sum(case when 月份 like '%10' then 工資 end) 10月,
    sum(case when 月份 like '%11' then 工資 end) 11月,
    sum(case when 月份 like '%12' then 工資 end) 12月,
    sum(工資)工資合計
    from 表 group by 編號,姓名
      

  5.   

    select 編號,姓名,
    sum(case when 月份 like '%01' then 工資 end) 1月,
    sum(case when 月份 like '%02' then 工資 end) 2月,
    sum(case when 月份 like '%03' then 工資 end) 3月,
    sum(case when 月份 like '%04' then 工資 end) 4月,
    sum(case when 月份 like '%05' then 工資 end) 5月,
    sum(case when 月份 like '%06' then 工資 end) 6月,
    sum(case when 月份 like '%07' then 工資 end) 7月,
    sum(case when 月份 like '%08' then 工資 end) 8月,
    sum(case when 月份 like '%09' then 工資 end) 9月,
    sum(case when 月份 like '%10' then 工資 end) 10月,
    sum(case when 月份 like '%11' then 工資 end) 11月,
    sum(case when 月份 like '%12' then 工資 end) 12月,
    sum(工資)工資合計
    from 表 group by 編號,姓名