select io.bill_no,
       nvl(gd.name, gd2.name) as goods_name,
       nvl(sd.qty, od.qty) as qty,
       nvl(sd.type, od.type) as type,
       nvl(s.status, o.status) as status,
  from InOutDetail io
  left join Storage s
    on s.bill_no = io.bill_no
  left join Storage_detail sd
    on sd.bill_no = io.bill_no
  left join goods gd
    on gd.goods_id = sd.goods_id
  left join OutLibrary o
    on o.bill_no = io.bill_no
  left join OutLibrary_detail od
    on od.bill_no = io.bill_no
  left join goods gd2
    on gd2.goods_id = od.goods_id

解决方案 »

  1.   

    select io.bill_no,
           gd.name,
           nvl(sd.qty, od.qty) as qty,
           nvl(sd.type, od.type) as type,
           nvl(s.status, o.status) as status,
      from goods gd,
           InOutDetail io
      left join Storage s
        on s.bill_no = io.bill_no
      left join Storage_detail sd
        on sd.bill_no = io.bill_no
      left join OutLibrary o
        on o.bill_no = io.bill_no
      left join OutLibrary_detail od
        on od.bill_no = io.bill_no
      where gd.good_id=io.good_id
      

  2.   

    select * from goods a,Storage b,Storage_detail c,InOutDetail f,(select d.status,d.re,e.* from OutLibrary d,OutLibrary_detail e where d.Bill_no = e.Bill_no ) x
    where b.Bill_no = c.Bill_no 
    and a.goods_id = c.goods_id 
    and a.goods_id = f.goods_id 
    and a.goods_id = x.goods_id(+)
    and (f.Bill_no=b.Bill_no or f.Bill_no = x.Bill_no)
      

  3.   

    回楼主,有几个问题。1、表结构就是这样吗?还是简写了?
    2、若出入库都存在的某种good,就会关联出2条,这应该不是你的本意吧?
    3、出入库记录表,是否是汇总表的概念,因为好像能能从其他表推导出来。但是感觉这个表的汇总意义不大。涉及数据同步太多,其实可以现用sql查的。
      

  4.   

    1.表结果是简写的,因为字段有二十多个,我只写了关键的
    2.如果出库明细和入库明细没good_id,那么我怎么知道出入库的商品是什么。
    3.出入库不是汇总,它只是记录某个商品什么时候出库或入库的,出库入库的数量是多少,来自哪个出库单或入库单,该表只是已商品为主表,就是记录商品出入库的记录。
      

  5.   

    我怎么理解很简单,你都有出入库记录表了,就已经知道有哪些商品,有入没出了。
    (按商品汇总所有入库的)a 左联 (按商品汇总所有出库的)b where b.商品为空的不是出来吗。。
      

  6.   

    1.表结果是简写的,因为字段有二十多个,我只写了关键的
    2.如果出库明细和入库明细没good_id,那么我怎么知道出入库的商品是什么。
    3.出入库不是汇总,它只是记录某个商品什么时候出库或入库的,出库入库的数量是多少,来自哪个出库单或入库单,该表只是已商品为主表,就是记录商品出入库的记录。
    2、这样关联出2条,你要怎么处理
    3、按你说的这个,是不是可以用以上那几个表来查出来?