利用SQL语句计算库存

SQL Server 数据库教程 (第3版)作业(2) 对storeexpm数据库中的EmplInfo表进行数据查询,验证和调试查询语句的代码。 阅读详情
计算库存量:
SELECT TOP 100 PERCENT dbo.Office_In.InCode, dbo.Office_In.InDate, 
      dbo.Office_In.ComCode, dbo.Office_In.TypeCode, dbo.Office_In.OName, 
      dbo.Office_In.Spec, dbo.Office_In.Unit, dbo.Office_In.Qty, dbo.Office_In.Price, 
      dbo.Office_In.Provider, dbo.Office_In.Master, dbo.Office_In.Note, 
      dbo.Company.ComName, dbo.Office_Type.TypeName, dbo.Office_In.Qty 
-
          (
SELECT isnull(SUM(Office_Out.Qty), 0)
         
FROM Office_Out
         
WHERE Office_In.InCode = Office_Out.InCode) AS Stock,
          (
SELECT isnull(SUM(office_out.qty), 0)
         
FROM office_out
         
WHERE office_in.inCode = office_out.incode) AS outQty
FROM dbo.Office_Type INNER JOIN
      dbo.Office_In 
ON 
      dbo.Office_Type.TypeCode 
= dbo.Office_In.TypeCode LEFT OUTER JOIN
      dbo.Company 
ON dbo.Office_In.ComCode = dbo.Company.ComCode
ORDER BY dbo.Company.ComName, dbo.Office_Type.TypeName

        在这个SQL语句,主要是利用isnull函数,将从数据库中查询到的为null的值,转化为0,之后利用减法,将库存计算出来。
附:结构表

/****** 对象:表 dbo.Office_In ******/
/****** 说明:办公用品入库表 ******/
If Exists (Select * From sysobjects where id = object_id('dbo.Office_In'))
Drop Table dbo.Office_In
GO
Create Table Office_In(
    InCode 
varchar(12) Not Null Primary key,--入库编号
    InDate smalldatetime Not Null,        --入库日期
    ComCode varchar(4) Not Null,        --公司单位代码
    TypeCode varchar(4) Not Null,        --种类代码
    OName varchar(50) Not Null,        --办公用品名称
    Spec varchar(50) Null,            --规格
    Unit varchar(10) Null,            --单位
    Qty Int Not Null,            --数量
    Price Numeric(8,2) Not Null,        --单价
    Provider varchar(50) Null,        --购买单位
    Master varchar(20) Not Null,        --经办人
    Note Varchar(100) Null            --备注
)
GO
ALTER TABLE dbo.Office_In ADD 
    
CONSTRAINT FK_Office_In_ComPany FOREIGN KEY 
    (
        ComCode
    ) 
REFERENCES dbo.Company (
        ComCode
    ),
    
CONSTRAINT FK_Office_In_Type FOREIGN KEY 
    (
        TypeCode
    ) 
REFERENCES dbo.Office_Type (
        TypeCode
    )
GO
    

/****** 对象:表 dbo.Office_Out ******/
/****** 说明:办公用品领用表 ******/
If Exists (Select * From sysobjects where id = object_id('dbo.Office_Out'))
Drop Table dbo.Office_Out
GO
Create Table Office_Out(
    OutCode 
varchar(12) Not Null Primary key,--领用编号
    ComCode varchar(4) Not Null,        --公司单位代码
    InCode varchar(12) Not Null,        --入库编号
    OutDate smallDatetime Not NUll,        --领用日期
    Qty Int Not Null,            --数量
    Master varchar(20) Not Null,        --经办人
    Note Varchar(100) Null            --备注
)
GO
ALTER TABLE dbo.Office_Out ADD 
    
CONSTRAINT FK_Office_Out_ComPany FOREIGN KEY 
    (
        ComCode
    ) 
REFERENCES dbo.Company (
        ComCode
    ),
    
CONSTRAINT FK_Office_Out_In FOREIGN KEY 
    (
        InCode
    ) 
REFERENCES dbo.Office_In (
        InCode
    )
GO
MRP与SQL之一:库存表的设计和SQL查询 库存表设计的要求:1)要能够方便地查到每个料件当前的库存;2)要能够方便地查到每个料件历史月份的库存(要能查询历史中每天的库存感觉有点太夸张了,没太大必要);相关表的结构(省略了大部分的无关字段)。。。。 阅读详情

相关推荐

sql由入库单与出库单统计库存

sql由入库单与出库单统计库存 入库表 id 类别 品名 单位 数量 ----------- ---------- ---------- ---------- ----------- 1 办公 打印机 台 2 2 办公 打印机 台 1 3 办公 打印纸 盒 2 4 其它 电话 台 2 出库表 id 类别 品名 单位 数量 ----------- ---------- ---------- ---------- ----------- 1 办公 打印机 台 1 2 办公 打印机 台 1 3 办公 打印纸 盒 1 统计表 类别 品名 单位 入库数量 出库数量 库存数量 ------ ---------- -------- -------- --------- ----------- 办公 打印机 台 3 2 1 办公 打印纸 盒 2 1 1 其它 电话 台 2 0 2

SQL计算每天的期初、入库、出库、结存数

这是一道面试题,答案如下: -- 更改sql_mode否则会报错 SET sql_mode=''; WITH table_test AS ( SELECT '2020-10-1' AS ru_date,200 AS ru_ku, 10 AS chu_ku UNION SELECT '2020-10-2' AS ru_date,10 AS ru_ku, 30 AS chu_ku UNION SELECT '2020-10-5' AS ru_date,50 AS ru_ku, 10 AS..

Liang_cr的博客 7704

用sql语言实现库存查询

用sql语言实现库存查询

数据分析SQL库存相关计算逻辑

库存库存成本成本价×数量在数仓建模中,库存表属于周期型快照事实表(dwd_stock)库存量 是 半可加事实,昨天库存不能和今天库存相加,佛山库存可与广州库存相加。

ArYe 1718

【万字长文】学习Armv8架构虚拟化一篇就够了

这里我们将介绍一些基础的Hypervisor和虚拟化的理论知识。如果你已经有一定的基础或是已经熟悉了这些概念,可以跳过这部分内容。我们用Hypervisor这个词来定义一种负责创建,管理以及调度虚拟机(Virtual Machines, VMs)的软件。Stage 2 转换允许Hypervisor控制虚拟机的内存视图。具体来说,其可以控制虚拟机是否可以访问特定的某一块物理内存,以及该内存块出现在虚拟机内存空间的位置。这种能力对于虚拟机的隔离和沙箱功能来说至关重要。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 5315

一文搞懂【Linux 搭建 Dread Hunger 服务器】附本体及Docker部署集群方案

看直播发现了五花八门的开服器和版本,一时兴起按官方文档进行了搭建尝试,所以我的版本基于官方Stream2024.01.10更新的版本,也就是停服时的玩法,应该可以根据mod和补丁魔改成更那些开服器一样的版本,本文不做谈论,注重服务器搭建,毕竟8个人不可能在一个局域网里乱象:首先,我看了大量教程视频,一类是开服器的推广,另一类自建的基本采用Windows搭建,我觉得最离谱的是大部分教程都会教你买一台远程Windows虚拟机???

LHmine的博客 3987

进销存报表查询统计的几种sql语句

SqlServer数据库商品进销存报表查询统计的几种sql语句

G007N的专栏 1665

破解拼多多网页字体加密的Python实现(静态)

爬取或者复制粘贴出来发现数字不是6372,而是这样的一个东西 ""从上图我们可以看出数字是一行的空白,后面被浏览器渲染后才展现的数字。我们可以用这个代码查看十六位进制对应的十进制,为什么要看十进制呢?​,而字体文件中的字符映射关系(cmap)也是以十进制存储的。我们搜索这个属性我们可以看到第一个这样的属性有一个URL,这个就是解密的字体包。然后我们构造一个这样的映射字典 key就是对应的十进制,后面的值就是对应的数字。然后我们需要封装一个函数,将加密文字和映射字典传入,返回解密后的数字。

weixin_64179111的博客 3540

一条SQL语句计算出商品剩余库存数量

库存表(stock) 商品名称(mc)    商品总量(zl) A                     100 B                     120   销售表(sales) 商品名称(mc)    销售数量(sl) A                     10 A                     20 B                     10 B  ...

anfslove99的专栏 8959

电脑的kernelbase.dll故障怎么处理?kernelbase.dll是什么文件

kernelbase.dll​是一个系统文件,属于Microsoft Windows操作系统的一部分。该DLL(动态链接库)文件包含了许多基本且低级的系统函数,这些函数被Windows上运行的各种程序和进程调用。kernelbase.dll通常与Kernel32.dll紧密相关,它是实现许多Windows API(应用程序编程接口)的封装。这些API涉及到内存管理、输入输出操作、进程和线程管理以及其他许多核心的操作系统功能。

电脑修复君的博客 4533

从12摄像头到纯视觉:小鹏AI鹰眼方案如何用LOFIC技术省掉激光雷达?

本文深入解析小鹏汽车AI鹰眼方案如何通过LOFIC技术实现纯视觉自动驾驶,替代传统激光雷达。LOFIC摄像头在动态范围、噪声控制和HDR优化方面表现卓越,结合800万像素双目广角摄像头,达到激光雷达级测距精度。该方案不仅降低成本,还提升系统可靠性和用户体验,展示了纯视觉路线的技术潜力与边界。

t8u9v0w1x的博客 934

写个库存统计的SQL语句

  库存统计的SQL语句    使用到三个表: 1. 入库表:w_StockBillDetail(有入库类型) 有品名MaterialID_Name,规格Specification,单位,数量(Packages)2. 送货单表:d_DeliveryBillDetail (明细) 有品名ComdName,规格Specification,单位Unit,数量Quantity 3. 外发表:w_...

注重长远 天天积累 cqujsjcyj 1676

脉冲变压器电感选型参数,结构原理,工艺与注意问题总结

脉冲变压器电感简称脉冲变压器,是一种特殊类型的变压器,主要用于处理脉冲信号。它的主要特性是能够在短时间内承受高电压和大电流。脉冲变压器主要用于开关电源、脉冲功率放大、雷达脉冲调制等领域。本文对脉冲变压器的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 1344

分組,並計算每組的庫存量的sql查詢語句

selecta.GroupIDASc1,a.BrandASc2,a.CPUASc3,a.DRAMASc4,a.HDASc5,a.CDDriverASc6,a.LCDASc7,...

weixin_30569001的博客 94

【TRAE调教指南之MCP篇】Context 7 MCP:让AI永远拥有最新技术文档

【TRAE调教指南之MCP篇】Context 7 MCP:让AI永远拥有最新技术文档

funfan的博客 1314

YOLOv13改进策略【小目标改进】| Shape-NWD:融合改进,结合Shape-IoU和NWD 更好地适应小目标特性

Bw−wgt2h−hgt2weight2Bweight2w−wgt​2h−hgt​2​其中weight2weight = 2weight2。

Limiiiing的博客 587

用实际库存数调整批次--保留最新的批次

--批次模型create table mxh( fifo_id int identity(1,1), q decimal(13,4) default(0), entry_q decimal(13,4) default(0) )insert into mxh(q,entry_q) values(10,10)insert into mxh(q,entry_q) values(10,10)...

546

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SQL提高

感觉不错,学习下 问题:表Table1的结构为:姓名科目成绩张三语文20张三数学30张三英语50李四语文70李四数学60李四英语90怎样通过select语句把他变成以下结构:姓名语文数学英语张三203050李四706090 方法1: selectDISTINCTD....

dazheng6764的博客 108

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

mysql统计库存_用Sql语句查询库存

create table table1(name char(50),total int)insert into table1 (name,total) values('A',200);insert into table1 (name,total) values('B',1000);mysql> select * from table1;+------+-------+| name | tot...

weixin_39567222的博客 2400

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SQL如何根据上一行的值来计算这一条的值

问题: 排序 量 现有库存 计算后库存量(这一列怎么计算出来?) 1 -5 185 180 由于现有库存是185,量是-5,所以计算后库存量为185+(-5)=180 2 -10 185 170 上一行的计算后库存量为180,当前行的量为-10,这一行的计算后库存量为170 3 15 185 185 上一行的计算后库存量为170,当前行的量为15,这一行的计算后库存量为185 4 160 185 345 以下所有行,都是这个规律一直向下推 5 -15 185 330 6

qq_41894426的博客 4197

linqlist 分组 每组前n条记录_SPL 简化 SQL 案例详解:多层固定分组

在数据库应用开发中,我们经常需要面对各种复杂的SQL计算,多层固定分组就是其中一种。实现该算法的思路是用left join语句将源数据按照固定的依据对齐,但由于该算法往往涉及分组汇总、行间计算、填补缺失数据,而且层次较多,因此相应的SQL语句会非常复杂。本文将介绍一种相对简单易懂的方法,也就是用SPL实现多层固定分组。下面用一个实例进行说明:表stocklog存储着每天多种货物的多次出入库记录,表...

weixin_39600319的博客 117

sql 中用case when实现复杂的条件查询

 近期做一个项目,实现不同条件下的不同补助类型的计算,由于后续补助的类型,金额都有可能有大的改动,考虑再三决定全部在sql server存储过程中实现,为后续的修改留足空间和余地,其中用到case....when语句,感觉功能挺强大的,对付很多有复杂逻辑的操作,不失是一种好的解决办法,代码如下,大家可以参考语法规则,看一看,希望对大家的学习有帮助.CREATE PROCEDURE [dbo].

胡杨树 6343

求够一条SQL语句

create table goods(   id int,   num int,   type nvarchar(4))gogoinsert into goodsvalues(1,150,进货)insert into goodsvalues(2,50,出货)insert into goodsvalues(3,150,进货)insert into goodsvalues(1,50,出货

LIAOXINGWEI的专栏 422

EAS8.6 存货收发存计算期初数SQL

EAS ERP 计算期初库存,

韬智信息 713
上一篇: 获取当天、本周、本月相关的数据
下一篇: 利用GridView进行编辑操作
striveman
博客等级 码龄20年 27粉丝 55原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值