select  b.field_id as cID,c.num as cTotal 
from  tb_field_resource b  left 
join (select a.psc_channel,count(a.psc_channel) num from tb_psr_check a  group by a.psc_channel) c 
on c.psc_channel = b.field_id 
order by b.field_id
查询结果如下:
CID   CTOTAL
D001  2
D002  3
D003  4
DOO4  
DOO5  
我想达到如下效果:
CID   CTOTAL
D001  2
D002  3
D003  4
DOO4  0(没有数据写0)
DOO5  0(没有数据写0)

解决方案 »

  1.   

    select  b.field_id as cID, NVL(c.num, 0) as cTotal 
    from  tb_field_resource b  left 
    join (select a.psc_channel,count(a.psc_channel) num from tb_psr_check a  group by a.psc_channel) c 
    on c.psc_channel = b.field_id 
    order by b.field_id用NVL就可以拉
      

  2.   

    select  b.field_id as cID, decode(c.num,'',0,c.num) as cTotal 
    from  tb_field_resource b  left 
    join (select a.psc_channel,count(a.psc_channel) num from tb_psr_check a  group by a.psc_channel) c 
    on c.psc_channel = b.field_id 
    order by b.field_id