日期:2014-05-17  浏览次数:20616 次

一个存储过程的写法
select dev_type_id , count(dev_type_id) as num from dev_info where dev_state = 0 grouy by dev_type_id 

这个语句 可以出处 类型,和这个类型的数据行数

即 dev_type_id num
  1 2
  2 1
  3 20

但是 当num 的值为零时,结果集中不会显示

我要的结果是
  dev_type_id num
  1 2
  2 1
  3 20
  4 0

怎样写SELECT 语句才能 显示 最后面那条数据 (即 4 0 )

------解决方案--------------------
SQL code
select a.dev_type_id, nvl(b.num, 0) num
  from (select distinct dev_type_id from dev_info) a,
       (select dev_type_id, count(dev_type_id) as num
          from dev_info
         where dev_state = 0 grouy by dev_type_id) b
 where a.dev_type_id = b.dev_type_id(+)