双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

欠料数量,求一SQL语句

wsxcdx wsxcdx 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
环境:sql 2000
表结构和测试数据如下

create table tb_qty
(
KPNO varchar(10),
QTY float
)

insert into tb_qty(KPNO,QTY) values('A01','100')
insert into tb_qty(KPNO,QTY) values('A02','100')
insert into tb_qty(KPNO,QTY) values('A03','100')
insert into tb_qty(KPNO,QTY) values('A04','100')
insert into tb_qty(KPNO,QTY) values('A05','100')

create table tb_ODNO
( SDATE varchar(8),
WKNO varchar(10),
PNO varchar(10),
KPNO varchar(10),
NQTY float
)

insert into tb_ODNO(SDATE,WKNO,PNO,KPNO,NQTY)values('20111111','100001','AAA','A01','80')
insert into tb_ODNO(SDATE,WKNO,PNO,KPNO,NQTY)values('20111111','100001','AAA','A02','60')
insert into tb_ODNO(SDATE,WKNO,PNO,KPNO,NQTY)values('20111111','100001','AAA','A03','50')
insert into tb_ODNO(SDATE,WKNO,PNO,KPNO,NQTY)values('20111112','100002','BBB','A01','60')
insert into tb_ODNO(SDATE,WKNO,PNO,KPNO,NQTY)values('20111112','100002','BBB','A02','100')
insert into tb_ODNO(SDATE,WKNO,PNO,KPNO,NQTY)values('20111112','100002','BBB','A03','50')
insert into tb_ODNO(SDATE,WKNO,PNO,KPNO,NQTY)values('20111112','100002','BBB','A04','120')
insert into tb_ODNO(SDATE,WKNO,PNO,KPNO,NQTY)values('20111112','100002','BBB','A05','120')

根据SDATE的顺序分配QTY,已分配的数量在QTY里要减掉

要求结果如下
SDATE WKNO PNO KPNO NQTY OQTY
------------------------------------------------
20111111 100001 AAA A01 80 0
20111111 100001 AAA A02 60 0
20111111 100001 AAA A03 50 0
20111112 100002 BBB A01 60 -40
20111112 100002 BBB A02 100 -60
20111112 100002 BBB A03 50 0
20111112 100002 BBB A04 120 -20
20111112 100002 BBB A05 120 -20

请大家帮忙,谢谢。
...全文

相关推荐

sql语句妙用,各种sql语句的详细用法与讲解

sql语句妙用,各种sql语句的详细用法与讲解 ,使得程序运行的更加流畅。主要针对一些高效sql语句的解释。

徒步-天下

欠料报表源码.rar

在以前公司用delphi做的易飞ERP欠料报表查询源码,放给大家学习学习,小弟献丑了,大师级别下载哈。呵呵呵

lfengwelcome

sqlserver中求字符串中汉字的个数的sql语句

关于这个话题,我也看到网上有其他方法来解决。 不过从性能和代码量上来看,我有更好的办法。 在这里和大家 分享。 原理其实很简单, 知识1、长度函数 len(); 知识2、还是长度函数datalength(); 代码如下: 代码如下: declare @sql varchar(1000) set @sql=’abc国m,de中d国e人民f’ select @sql 字符,DATALENGTH(@sql)-len(@sql) 汉字个数

weixin_38689857

一条sql语句完成MySQL去重留一

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。

weixin_38632488

欠料表之ERP供应与需求拆解(SQL存储过程)

这是一张欠料表,给生产计划用来催采购单用的,需求由早到晚,供应由早到晚(库存在最前)来满足需求,难点在于一笔供应不能满足需求的时候,需要对需求进行多行的拆解,而且拆解多少行还是不定的,用在Epicor系统,数据库是SQL2016,我认为用在其他系统亦是一样的道理。 转载请注明出处,联系我: t39q@163.com 本人热衷于数据库技术及算法的研究,志同道合之士, 欢迎探讨 採購單號在後面,截圖不到。 Create proc [dbo].[proc_UnderStockQuery2] @company nvarchar(20), @PartNumIn NVARCHAR(50) as --

weixin_38703968
评论 20
收藏 已收藏
分享
返回顶部
wsxcdx
MS-SQL Server 34,876 成员 254,635 内容