|
下面表的结构是
AWFACTOR (h_clid number(10), h_iscurvers number(1));
数据如下:
h_clid h_iscurvers
218108948 0
218108948 0
218108948 0
218108959 1
218108959 1
218108959 1
218108959 1
218108985 0
218108985 0
218108985 1
218108985 1
218108985 1
然后我再我的APP中执行下面的sql语句(注:我的app用的OCI来进行数据操作)
select H_CLID,
count(case when H_ISCURVERS=0 then 1 end) "OldVersion",
count(case when H_ISCURVERS=1 then 1 end) "CurrentVersion"
from AWFACTOR
where H_CLID is not null and H_ISCURVERS is not null
group by H_CLID
order by H_CLID;
上面的语句我从sql*plus或者toad中执行得到的结果都是:
H_CLID A B
218108948 3 0
218108959 0 4
218108985 2 3
不过通过OCI进行fetch的时候就会出现 ORA-24347的错误,其实就是count这个聚集函数得到了null值,很显然就是在H_CLID=218108948的B列和H_CLID=218108959的A列。
如何修改上面的sql语句来避免这样的错误呢。
谢谢大家指点一下
[ 本帖最后由 dongyidong 于 2010-10-7 22:12 编辑 ] |
|