+ -
当前位置:首页 → 问答吧 → 关于oracle 中count部分

关于oracle 中count部分

时间:2011-11-30

来源:互联网

各位大侠,我做的程序count部分有一点令我十分困惑,所以想请各位大侠帮助结局,谢啦!
代码如下:select count(b.jh),count(c.jh) from
(select * from( select skgysjb.id,skgysjb.jh ,bzqc."d_date" d_date,dd_zpxx.zprq from skgysjb left outer join bzqc on (skgysjb.id=bzqc."jing_id") left outer join dd_zpxx on skgysjb.id=dd_zpxx.id ) t where t.zprq>=to_date('2011-11-1','yyyy/mm/dd') and t.zprq<=to_date('2011-11-19','yyyy/mm/dd') ) b , 
(select * from( select skgysjb.id,skgysjb.jh ,bzqc."d_date" d_date,dd_zpxx.zprq from skgysjb left outer join bzqc on (skgysjb.id=bzqc."jing_id") left outer join dd_zpxx on skgysjb.id=dd_zpxx.id ) t where t.d_date>=to_date('2011-11-1','yyyy/mm/dd') and t.d_date<=to_date('2011-11-19','yyyy/mm/dd') ) c 
为什么这样查出来虽然有结果但是不正确,既不是b的jh的数量也不是 c的jh的数量??

作者: susan_meng   发布时间: 2011-11-30

一次只能count一个。
要么count(b.jh)
要么count(b.jh)

作者: yixilan   发布时间: 2011-11-30

无论count(b.jh)还是(c.jh),我想最终结果应该是一致的。
应该是两个中间表的迪卡尔乘积中记录的个数。

作者: LuiseRADL   发布时间: 2011-11-30

引用 2 楼 luiseradl 的回复:
无论count(b.jh)还是(c.jh),我想最终结果应该是一致的。
应该是两个中间表的迪卡尔乘积中记录的个数。

不用忽略NULL
b.jh和c.jh中null的数目不一样就有可能不相等

作者: jym2002   发布时间: 2011-11-30

热门下载

更多