三个表:入库表rukuinfo(goodsid,goodsname,picinum,rukudate,rukusl。。)
出库表chukuinfo(goodid,goodsname,picinum,chukudate,chukusl。)
库存表kucuninfo(goodsid,goodsname,picinum,kucunsl)
我遇到的问题是,在商品入库时是一次性入库,新生成一个批次(picinum),但出库时有可能一个批次的商品分多次出库,这样在出库表里就存在多条出库记录,我如果用下面的sql语句查看商品的入库、出库、库存明细时,入库表、库存表里往往有重复的记录,如何实现入库表里一条入库记录对应出库表里一条或多条记录,库存表里也对应一条记录?
select a.goodsid,a.goodsname,a.picinum,a.rukudate,a.rukusl,a.picinum,b.chukudate,b.chukusl
c.kucunsl from rukuinfo a,chukuinfo b,kucuninfo c
where a.goodsid=b.goodsid and b.goodsid=c.goodsid
and a.picinum=b.picinum and b.picinum=c.picinum谢谢各位大哥了,我的qq:37306324 信箱:[email protected]

解决方案 »

  1.   


    你现在的表结构设计不就是这样的么
    rukuinfo            chukuinfo
    goodsid    1----*   goodid
    rukuinfo            kucuninfo
    goodsid    1----1   goodid  
      

  2.   

    是这个意思,但我想通过一个sql语句实现如下格式goodsid,goodsname,picinum rukudate,rukusl,chukudate chukusl,kucun
    230201    牛奶   rk1000  2009-4-6   100   2009-5-10   20    80
                                               2009-6-1    30    50
                                               2009-6-20   10    40
                                                ....       ...   ...
    230202    饼干   rk1001 2009-3-10   200    2009-4 -10   100    100
                                               2009-5-1    30    70
                                               2009-6-10   10    60
                                                ....       ...   ...230203   水杯   rk1000  2009-5-6   20      2009-05-10  100  0       
      

  3.   


    这里我理解好想不对rukuinfo和chukuinfo 没有关系字段哟。这里他们的逻辑关系不明确,他们都只和kucuninfo 有联系要得到你想要的,应该是不行的。除非是在rukuinfo加个主键,chukuinfo加个外键对上他。不过应用中出库和入库有这样的关系么?
      

  4.   

    不好意思,我写错了
    出库表chukuinfo(goodsid,goodsname,picinum,chukudate,chukusl。),关系字段为goodsid和picinum 
    楼上的这位大哥,能留个QQ吗?方便联系一下 
      

  5.   


    ==================================================================
    Inthirties关注Oracle数据库 维护 优化,安全,备份,恢复,迁移,故障处理如果你需要帮助或想和我一起学习的请联系
    联系方式QQ:370140387
    电子邮件:[email protected]
    网站: http://www.inthirties.com