SELECT '00' LB,'一、在岗人员总数' DQZT,
COUNT(A.ZGBH) TOTAL,COUNT(DECODE(A.XB,'2',ZGBH)) WOMEN,
LY1.num
from (select COUNT(zgbh) num from RDDRTZ where to_char(drrq,'yyyymm')=
 to_char(sysdate,'yyyymm') and DRLB IN ('04','05,','06','07','11') 
  ) LY1,(select * from rdjbda where a.zgbh='0') A 

解决方案 »

  1.   

    老大这样不行,我找到了方法
    SELECT '00' LB,'一、在岗人员总数' DQZT,
     COUNT(A.ZGBH) TOTAL,COUNT(DECODE(A.XB,'2',ZGBH)) WOMEN,
    sum((select COUNT(zgbh) from RDDRTZ where to_char(drrq,'yyyymm')=
     to_char(sysdate,'yyyymm') and DRLB IN ('04','05,','06','07','11') 
      )) LY1
    from rdjbda A where a.zgbh='0'
      

  2.   

    为什么加个SUM就可以了,本来没有加的时候就是提示没有GROUP BY
      

  3.   

    或许是,不是一个单值,是一个集合
    select COUNT(zgbh) from RDDRTZ where to_char(drrq,'yyyymm')=
     to_char(sysdate,'yyyymm') and DRLB IN ('04','05,','06','07','11')
      

  4.   

    因为你使用了聚集函数COUNT(A.ZGBH) TOTAL,COUNT(DECODE(A.XB,'2',ZGBH)) WOMEN,
    所以其他字段要么使用聚集函数要么出现在group by子句中。