各位大侠,我做的程序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的数量??
------解决方案--------------------
无论count(b.jh)还是(c.jh),我想最终结果应该是一致的。
应该是两个中间表的迪卡尔乘积中记录的个数。
------解决方案--------------------