求库存表期初查询的解决办法.

求库存表期初查询的获取办法.
以下是
select a.frq,
       a.fwlbh,
       min(a.frijbid) fqcsl,
       sum(decode(a.fdjlx,1,a.fsl,0)) rksl,
       sum(decode(a.fdjlx,-1,abs(a.fsl),0)) cksl,
       max(a.frijbid) fbqjc
from t_rijb a
where trunc(a.frq,'dd') = to_date('20080902','yyyymmdd')
  and a.fwlbh = 'A01000201'
group by a.frq,a.fwlbh

由于在本次查询中fqcsl(期初数量)和fbcjc(本期结存)是一个唯一ID,
如果此时用函数会造成运行效率低下,因为此表将是系统最为核心的
视图,一旦速度降低,将会对系统产生极大影响。
望各位高手不吝赐教。

[ 本帖最后由 hhuck 于 2008-10-28 11:07 编辑 ]
我也来说两句 查看全部回复

最新回复

  • yinghao (2008-10-28 14:43:48)

    trunc(a.frq,'dd') = to_date('20080902','yyyymmdd') 永远为false 且效率不高
    建议这样写  a.frq >= date '2008-09-02'  and a.frq<date '2008-09-03'

    [ 本帖最后由 yinghao 于 2008-10-28 14:51 编辑 ]
  • yinghao (2008-10-28 14:48:59)

    frq 储存就是日期吗,没有时间吗?期间指一天 一月?我觉得分组列选择有有问题