数据库: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:建立商品库存表。在入库、出库的同时,对相应的商品库存量进行更改

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

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

MySQL小的出库入库_根据出库、入库表,实现对库存的信息查询相关推荐

  1. matlab画立体仓库库位图_仓库货物库位图在Excel电子表格中的设计与实现

    人工智能及识别技术 1 引言 Excel 电子表格是微软公司出品的 Office 系列办公软件中 的一个组件,可以用来制作电子表格 . 完成许多复杂的数据 运算,进行数据的分析和预测并且具有强大的制作 ...

  2. 万维考试系统python题库答案_万维试题库系统官方下载

    万维试题库管理系统是一款相当出色的考试软件,软件拥有很多功能如课程定义,题型支持.试题批量识别导入,雷同试题检测,随机组卷和手工组卷流程控制,透明压缩,双向缓冲处理,数据导入导出共享,相当实用. 基本 ...

  3. mysql导入社工库文件_社工库-数据表结构设计和数据导入

    环境: 主机:10.0.1.120 数据库:mysql 5.6 查看数据结构 tail www.csdn.net.sql # csdn格式 LaoZheng # 670xxx # chengxxx@1 ...

  4. python 库 类_在Python中导入库类

    我有以下项目层次结构: project_dir lib __init__.py ... some_script.py ... agent __init__.py ... errors.py some_ ...

  5. arcgis 出图背景_急速出图工作流第二弹丨试试用水彩风拯救你的Deadline~

    各位亲爱的小伙伴,看了几期的分析图系列,大家是不是觉得有点单调乏味了呢?那么,本周的制图教室就给大家换点新鲜货~ 话说我们画图的时候最怕什么呢?当然是拖延症啊.这种"绝症"的存在, ...

  6. sklearn库安装_没有依赖库也能跑机器学习模型!推荐一个强大工具m2cgen

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI m2cgen(Model 2 Code Generator)是一个轻量级代码生成器,它可以将训练好的机器学习模型转换成无需依赖库的本地代码. ...

  7. mysql身份证号批判断正误_如何验证检查Excel表中身份证号码的正误

    展开全部 我们现在通行的身份证号为十八位号,前62616964757a686964616fe4b893e5b19e31333365646234六位是地区代码,第七至十四位是出生年月日代码,第十五.十六 ...

  8. python numpy库作用_整理numpy库的常用功能(持续更新…),NumPy,函数,梳理

    NumPy简介 NumPy是Python中科学计算的基础包.它是一个Python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种API,有包括数学.逻辑.形状操作.排 ...

  9. python安装requests库超时_【Python 库】requests 详解超时和重试

    网络请求不可避免会遇上请求超时的情况,在 requests 中,如果不设置你的程序可能会永远失去响应. 超时又可分为连接超时和读取超时. 连接超时 连接超时指的是在你的客户端实现到远端机器端口的连接时 ...

最新文章

  1. svn 第一次使用注意事项
  2. 齐次坐标的理解(1)
  3. Java并发——CAS
  4. 谈谈CListCtrl如何调整行高
  5. Stopwatch类学习
  6. 删除.svn文件夹方法(转)
  7. Unity3D 4.x 使用Mecanim实现动画控制
  8. 设计模式在业务系统中的应用
  9. git fork clone 区别_我的Git笔记
  10. linux 启动作业,[转载] 随身带着走的作业系统 ~安装Linux作业系统于随身碟~
  11. 关于STM32F107移植到GD32F307后,固件不断重启的一个解决方式
  12. 医药电商平台解决方案
  13. Office Professional Plus 2010 产品密钥
  14. 深度学习概念挖掘——GPU
  15. 如何实现前后端分离开发
  16. 网络基础之静态路由配置及网络问题排查思路
  17. zepto和jquery
  18. 自律是一种虚伪的力量,成就感才是真实的力量
  19. 《Total Commander:万能文件管理器》——第2.2节.快速了解一款软件的4条途径
  20. UPnP 体系架构和基本原理 —— UPnP 协议栈

热门文章

  1. 评职称计算机应用能力考核有分吗,苏州评工程师所要求的职称计算机应用能力考核问题有哪些?...
  2. A later version of Node.js is already installed. Setup willnow exit.
  3. invalidate()
  4. EasyExcel使用详解与源码解读
  5. 成为JAVA(高级)工程师,该学什么
  6. 这次,认真搞了个外包兼职搞钱群!
  7. 如何用U盘安装操作系统
  8. windows系统安装live-server
  9. Smarty (一)
  10. 10、Hibernate的对象检索策略