当前位置: 代码迷 >> Oracle管理 >> 请问一个空记录,返回0值的情况,不是某一项为空,而是没有这条记录
  详细解决方案

请问一个空记录,返回0值的情况,不是某一项为空,而是没有这条记录

热度:17   发布时间:2016-04-24 05:38:24.0
请教一个空记录,返回0值的情况,不是某一项为空,而是没有这条记录
 请教个Oracle的问题。
就是:数据库里有两条记录
情况 数量  
  a 1
  b 2
我想这样,我查找C情况的数量,显然数据库没有C情况这条记录,但是我想让它返回
C情况,数量是0

------解决方案--------------------
实测数据:
SQL code
CREATE TABLE T51(    situation VARCHAR2(20),    mynum   NUMBER(4));INSERT INTO T51 VALUES('a', 1);INSERT INTO T51 VALUES('b', 2);
------解决方案--------------------
找到 包含你所有情况的"情况表"表 然后 left join 
情况表
情况
a
b
c
d

情况详细表
情况 数量
a 1
b 2

SQL code
select  a.情况,nvl(b.数量,0) as 数量from 情况表 a left join 情况详细表 b on a.情况=b.情况 where 1=1
  相关解决方案