表a(salary,salary_type)进行分类统计,字段salary_type含有四种类型A,B,C,D
我要显示的结果是:
A    5
B    10
C    0
D    0而我现在的实现的结果是:
A    5
B    10我是按某一条件计数的.
请各位帮帮忙!谢谢!

解决方案 »

  1.   

    salary_type如果有存在一张表tab的话,直接将你的
      而我现在的实现的结果是: 
      A    5 
      B    10 
    的语句再加一个union tab就可以实现了,主要是在你的a表里面没有c、d的记录,所以统计出来没有。
    或者你可以用tab再左连接你的目前的语句也可以
      

  2.   

    没看懂你要什么,你现在的结果直接这样不就行了
    select salary,salary_type
    from a
    where salary_type>0
      

  3.   

     总算看懂了,你是要显示的结果为
    A    5 
    B    10 
    C    0 
    D    0 
    没有数据就为0吧
    这样好了select aa.salary,nvl(bb.salary_type,0) salary_type
    from
    (select 'A' salary from dual
    union all
    select 'B' salary from dual
    union all
    select 'c' salary from dual
    union all
    select 'd' salary from dual
    ) aa,
    (select a.salary,sum(a.salary_type)) salary_type
    from a
    group by a.salary)
    bb
    where aa.salary=bb.salary(+)这样出来是固定四条纪录
      

  4.   

    2楼是对的,union tab可以解决,谢谢各位!