表(Patient):
sDeptName(部门)   sType(类型)     Receipt(费用)
外科                     自费              23
内科                     新农合            34
内科                     自费              56
外科                     医保              34
……请教各位如何用SQL语句如何实现下面的统计方式

______________________________________________________ 
          |       自费     |      新农合     |       医保   | 
部门       |____________________________________________
           |   人数  金额   |  人数  金额     |   人数 | 金额|
_______________________________________________________
           |             |                |            |
_______________________________________________________……

解决方案 »

  1.   

    表(Patient): 
    sDeptName(部门)  sType(类型)    Receipt(费用) 
    外科                    自费              23 
    内科                    新农合            34 
    内科                    自费              56 
    外科                    医保              34 Select sDeptname, 
    case stype when '自费' then SUM(Receipt) else 0 End '自费',
    case stype when '新农合' then SUM(Receipt) else 0 End '新农合',
    case stype when '医保' then SUM(Receipt) else 0 End '医保'
    From  Patient没有测试,你自己看看就知道了。。
      

  2.   

    Select sDeptname, 
    SUM(case stype when '自费' then Receipt else 0 End)'自费', 
    SUM(case stype when '新农合' then Receipt else 0 End) '新农合', 
    SUM(case stype when '医保' then Receipt else 0 End) '医保' 
    From  Patient 
    group by sDeptname
    ---------------------------------------------------
    借用楼上的代码,做了一些修改!
    只有(自费|新农合|医保)三种类型;
    可以完成你要求的报表!