select 缴费人编号=[user]
,[1月_应交]=sum(case [month] when 1 then consume else 0 end)
,[1月_实交]=sum(case [month] when 1 then charge else 0 end)
,[2月_应交]=sum(case [month] when 2 then consume else 0 end)
,[2月_实交]=sum(case [month] when 2 then charge else 0 end)
,[3月_应交]=sum(case [month] when 3 then consume else 0 end)
,[3月_实交]=sum(case [month] when 3 then charge else 0 end)
,[4月_应交]=sum(case [month] when 4 then consume else 0 end)
,[4月_实交]=sum(case [month] when 4 then charge else 0 end)
,[5月_应交]=sum(case [month] when 5 then consume else 0 end)
,[5月_实交]=sum(case [month] when 5 then charge else 0 end)
,[6月_应交]=sum(case [month] when 6 then consume else 0 end)
,[6月_实交]=sum(case [month] when 6 then charge else 0 end)
,[7月_应交]=sum(case [month] when 7 then consume else 0 end)
,[7月_实交]=sum(case [month] when 7 then charge else 0 end)
,[8月_应交]=sum(case [month] when 8 then consume else 0 end)
,[8月_实交]=sum(case [month] when 8 then charge else 0 end)
,[9月_应交]=sum(case [month] when 9 then consume else 0 end)
,[9月_实交]=sum(case [month] when 9 then charge else 0 end)
,[10月_应交]=sum(case [month] when 10 then consume else 0 end)
,[10月_实交]=sum(case [month] when 10 then charge else 0 end)
,[11月_应交]=sum(case [month] when 11 then consume else 0 end)
,[11月_实交]=sum(case [month] when 11 then charge else 0 end)
,[12月_应交]=sum(case [month] when 12 then consume else 0 end)
,[12月_实交]=sum(case [month] when 12 then charge else 0 end)
from charge
group by [user]

解决方案 »

  1.   

    to zjcxc(邹建) 
    这样的执行效率高吗?或者应该重新设计一下表的结构?
      

  2.   

    select 缴费人编号=[user]
    ,[1月_应交]=sum(case [month] when 1 then consume else 0 end)
    ,[1月_实交]=sum(case [month] when 1 then charge else 0 end)
    ,[2月_应交]=sum(case [month] when 2 then consume else 0 end)
    ,[2月_实交]=sum(case [month] when 2 then charge else 0 end)
    ,[3月_应交]=sum(case [month] when 3 then consume else 0 end)
    ,[3月_实交]=sum(case [month] when 3 then charge else 0 end)
    ,[4月_应交]=sum(case [month] when 4 then consume else 0 end)
    ,[4月_实交]=sum(case [month] when 4 then charge else 0 end)
    ,[5月_应交]=sum(case [month] when 5 then consume else 0 end)
    ,[5月_实交]=sum(case [month] when 5 then charge else 0 end)
    ,[6月_应交]=sum(case [month] when 6 then consume else 0 end)
    ,[6月_实交]=sum(case [month] when 6 then charge else 0 end)
    ,[7月_应交]=sum(case [month] when 7 then consume else 0 end)
    ,[7月_实交]=sum(case [month] when 7 then charge else 0 end)
    ,[8月_应交]=sum(case [month] when 8 then consume else 0 end)
    ,[8月_实交]=sum(case [month] when 8 then charge else 0 end)
    ,[9月_应交]=sum(case [month] when 9 then consume else 0 end)
    ,[9月_实交]=sum(case [month] when 9 then charge else 0 end)
    ,[10月_应交]=sum(case [month] when 10 then consume else 0 end)
    ,[10月_实交]=sum(case [month] when 10 then charge else 0 end)
    ,[11月_应交]=sum(case [month] when 11 then consume else 0 end)
    ,[11月_实交]=sum(case [month] when 11 then charge else 0 end)
    ,[12月_应交]=sum(case [month] when 12 then consume else 0 end)
    ,[12月_实交]=sum(case [month] when 12 then charge else 0 end)
    ,[12个月_应交]=sum(consume)
    ,[12个月_实交]=sum(charge)
    from charge
    group by [user]
    union all
    select '',
    ,[1月_应交]=sum(case [month] when 1 then consume else 0 end)
    ,[1月_实交]=sum(case [month] when 1 then charge else 0 end)
    ,[2月_应交]=sum(case [month] when 2 then consume else 0 end)
    ,[2月_实交]=sum(case [month] when 2 then charge else 0 end)
    ,[3月_应交]=sum(case [month] when 3 then consume else 0 end)
    ,[3月_实交]=sum(case [month] when 3 then charge else 0 end)
    ,[4月_应交]=sum(case [month] when 4 then consume else 0 end)
    ,[4月_实交]=sum(case [month] when 4 then charge else 0 end)
    ,[5月_应交]=sum(case [month] when 5 then consume else 0 end)
    ,[5月_实交]=sum(case [month] when 5 then charge else 0 end)
    ,[6月_应交]=sum(case [month] when 6 then consume else 0 end)
    ,[6月_实交]=sum(case [month] when 6 then charge else 0 end)
    ,[7月_应交]=sum(case [month] when 7 then consume else 0 end)
    ,[7月_实交]=sum(case [month] when 7 then charge else 0 end)
    ,[8月_应交]=sum(case [month] when 8 then consume else 0 end)
    ,[8月_实交]=sum(case [month] when 8 then charge else 0 end)
    ,[9月_应交]=sum(case [month] when 9 then consume else 0 end)
    ,[9月_实交]=sum(case [month] when 9 then charge else 0 end)
    ,[10月_应交]=sum(case [month] when 10 then consume else 0 end)
    ,[10月_实交]=sum(case [month] when 10 then charge else 0 end)
    ,[11月_应交]=sum(case [month] when 11 then consume else 0 end)
    ,[11月_实交]=sum(case [month] when 11 then charge else 0 end)
    ,[12月_应交]=sum(case [month] when 12 then consume else 0 end)
    ,[12月_实交]=sum(case [month] when 12 then charge else 0 end)
    ,[12个月_应交]=sum(consume)
    ,[12个月_实交]=sum(charge)
    from charge
      

  3.   

    非常感谢,能不能麻烦你再看看这个问题
    http://community.csdn.net/Expert/topic/3131/3131750.xml?temp=.5504114
    谢谢