当前位置: 代码迷 >> Oracle开发 >> 一个存储过程的写法解决办法
  详细解决方案

一个存储过程的写法解决办法

热度:53   发布时间:2016-04-24 07:36:24.0
一个存储过程的写法
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(+)
  相关解决方案