我有一个表,如下:
字段:收费时间     收费项目     收费数目
---------------------------------
2003-1-1      项目一       120.00
2003-1-5      项目一       345.00
2003-1-2      项目二       362.00
2003-1-3      项目三       329.00
.........
.........
.........
.........
2003-12-31    项目一       159.00  
2003-12-31    项目二       325.00
2003-12-31    项目二       649.00
2003-12-31    项目三        90.00
------------------------------------我想用一组SQL语句得到一个如下的表:
字段:月份      项目一      项目二      项目三      总计
----------------------------------------------------
1         1320.00    1439.00     2100.00    4530.00
2         2432.00    3200.00     2303.00    8794.00
..............
..............
..............
12        2333.00    1223.00     1234.00    4880.00HELP!!!!!!!!!

解决方案 »

  1.   

    select 
           year(收费时间) as 年度,month(收费时间) as 月份,
           sum(case when  收费项目 ='项目一' then 收费数目 end) N'项目一',
           sum(case when  收费项目 ='项目二' then 收费数目 end) N'项目二',
           sum(case when  收费项目 ='项目三' then 收费数目 end) N'项目三',
           sum(收费数目)
    from tablename
    group by year(收费时间),month(收费时间)
    order by year(收费时间),month(收费时间)