zoukankan      html  css  js  c++  java
  • 根据出库、入库表,实现对库存的信息查询

    数据库:mysql

    要求:多个仓库、多个产品

    表:1.入库凭证表 t_rkpz

      2.入库明细表 t_rkpzmx

      3.出库凭证表 t_ckpz

      4.出库凭证表 t_ckpzmx

      说明:两对主从表   

         [(主表:入库凭证表 t_rkpz,主键:rkbh)(从表:入库明细表 t_rkpzmx ,外键:rkbh)]

           [(主表:出库凭证表 t_ckpz ,主键:rkbh)(从表:出库凭证表 t_ckpzmx ,外键:rkbh)]

    建表 :

      字段说明:入库编号、入库日期、仓库名称、仓库管理员

      

      字段说明:所属入库编号、商品名称、商品数量、单位、备注

       

      字段说明:出库编号、出库日期、仓库名称、仓库管理员

      

      字段说明:所属入库编号、商品名称、商品数量、单位、备注

      

    那么在产品进行入库,出库信息录入之后。如何对不同仓库、不同商品库存信息进行查询?

    解决思路1:库存=入库-出库,在数据库中建立视图,实现分仓库、分商品的库存统计

    特点:不需要建立库存表,但是需要在数据库中先建立好视图。

    实现:

      1)对入库记录产生的商品库存进行统计 v_rkkc

      根据仓库名称(b.ckmc)和产品名称(a.goods) 结果集进行分组统计查询

      select `b`.`ckmc` AS `ckmc`,`a`.`units` AS `units`,`a`.`goods` AS `goods`,sum(`a`.`sl`) AS `zsl`
      from (`t_rkpzmx` `a` left join `t_rkpz` `b` on((`a`.`rkbh` = `b`.`rkbh`)))
      group by `b`.`ckmc`,`a`.`goods`

      2)对出库记录产生的商品库存进行统计 v_ckkc

      同入库记录,根据仓库名称(c.ckmc)和产品名称(d.goods) 结果集进行分组统计查询

      select `c`.`ckmc` AS `ckckmc`,`d`.`goods` AS `ckgoods`,sum(`d`.`sl`) AS `ckzsl`
      from (`t_ckpzmx` `d` left join `t_ckpz` `c` on((`c`.`ckpz` = `d`.`ckbh`)))
      group by `c`.`ckmc`,`d`.`goods`

      3)库存统计数据 = 入库库存统计数据 - 出库库存统计数据(v_kc = v_rkkc - v_ckkc)

      select `b`.`ckmc` AS `ckmc`,`b`.`goods` AS `goods`,`b`.`units` AS `units`,`b`.`zsl` AS `zsl`,`a`.`ckzsl` AS `ckzsl`,(`b`.`zsl` - `a`.`ckzsl`) AS `kc`
      from (`v_ckkc` `a` join `v_rkkc` `b` on(((`a`.`ckckmc` = `b`.`ckmc`) and (`a`.`ckgoods` = `b`.`goods`))))

    解决思路2:建立商品库存表。在入库、出库的同时,对相应的商品库存量进行更改

    特点:库存表的建立,使得逻辑思维更加清晰。但是需要在入库、出库操作(增、删、改、查)的时候进行仓库库存数量的调整。

       极大的增加了代码量及代码书写难度(同时操作多个表的数据,入库、出库的任何一个操作,都要相应的调整库存。需要多次开启数据库事务管理,保证多表操作的同时进行。)

  • 相关阅读:
    洛咕 P2403 [SDOI2010]所驼门王的宝藏
    洛咕 P2480 [SDOI2010]古代猪文
    洛咕 P2447 [SDOI2010]外星千足虫
    CF618F Double Knapsack 构造、抽屉原理
    Educational Codeforces Round 62
    CF908G New Year and Original Order 数位DP
    CF833D Red-Black Cobweb 点分治、树状数组
    Codechef CNTL Counting is life 生成函数
    LOJ2527 HAOI2018 染色 生成函数、二项式反演、NTT
    Luogu4916 魔力环 莫比乌斯反演、组合、生成函数
  • 原文地址:https://www.cnblogs.com/ahguSH/p/5383555.html
Copyright © 2011-2022 走看看