select OPERATING_DEPT,
       (select count(OPERATING_DEPT) from OPERATION_MASTER where OPERATION_SCALE=0),
       (select count(OPERATING_DEPT) from OPERATION_MASTER where OPERATION_SCALE=1),
       (select count(OPERATING_DEPT) from OPERATION_MASTER where OPERATION_SCALE=2),
       (select count(OPERATING_DEPT) from OPERATION_MASTER where OPERATION_SCALE=3),
       (select count(OPERATING_DEPT) from OPERATION_MASTER)       
from OPERATION_MASTER    
group by OPERATING_DEPT
偶再补充两句啊,这是我写的代码,光标停留再count位置处,错误信息是 not a GROUP BY expression

解决方案 »

  1.   

    select 科室,sum(decode(type,'特大手术',1,0)) 特大手术,
           sum(decode(type,'大手术',1,0)) 大手术,
           sum(decode(type,'中手术',1,0)) 中手术,
           sum(decode(type,'小手术',1,0)) 小手术,
           count(*) 合计
    from tbname
    group by 科室
      

  2.   

    select OPERATING_DEPT,sum(decode(OPERATION_SCALE,0,1,0)) 特大手术,
           sum(decode(OPERATION_SCALE,1,1,0)) 大手术,
           sum(decode(OPERATION_SCALE,2,1,0)) 中手术,
           sum(decode(OPERATION_SCALE,3,1,0)) 小手术,
           count(*) 合计
    from OPERATION_MASTER 
    group by OPERATING_DEPT
      

  3.   

    呵呵,少的可怜.
    谢谢duanzilin(寻)大哥,这个问题搞定了.