当前位置:首页 > 技术心得 > 正文内容

SQL累减语句

xjtudll5年前 (2022-02-07)技术心得9200

https://bbs.csdn.net/topics/70362619

表一
Item Qty
A 10
A 12
A 14
B 13
B 60
C 30
C 40
C 10
表二
Item Qty
A 1000
B 70
C 100
表三
Item Qty Result
A 10 990 =(1000-10)
A 12 978 =(990-12)
A 14 964 =(978-14)
B 13 57 =(70-13)
B 60 -3 =(57-60)
C 30 70 =(100-30)
C 40 30 =(70-40)
C 10 20 =(30-10)

--示例
--示例数据
create table 表一(Item varchar(10),Qty int)
insert 表一 select 'A',10
union all select 'A',12
union all select 'A',14
union all select 'B',13
union all select 'B',60
union all select 'C',30
union all select 'C',40
union all select 'C',10
create table 表二(Item varchar(10),Qty int)
insert 表二 select 'A',1000
union all select 'B',70
union all select 'C',100
go
--查询
select id=identity(int),a.*,Result=b.Qty
into # from 表一 a,表二 b
where a.Item=b.Item
order by a.Item
declare @Item varchar(10),@s int
update # set
@s=case when @Item=Item then @s-Qty else Result-Qty end,
@Item=Item,Result=@s
select * from #
drop table #
go
--删除测试
drop table 表一,表二
/*--结果
Item Qty Result
---------- ----------- -----------
A 10 990
A 12 978
A 14 964
B 13 57
B 60 -3
C 30 70
C 40 30
C 10 20
(所影响的行数为 8 行)
--*/

--示例
--示例数据
create table 表一(Item varchar(10),Qty int)
insert 表一 select 'A',10
union all select 'A',12
union all select 'A',14
union all select 'B',13
union all select 'B',60
union all select 'C',30
union all select 'C',40
union all select 'C',10
create table 表二(Item varchar(10),Qty int)
insert 表二 select 'A',1000
union all select 'B',70
union all select 'C',100
go
--查询
select id=identity(int),* into # from 表一
select a.Item,a.Qty,Result=b.Qty-(select sum(Qty) from # where Item=a.Item and id<=a.id)
from # a,表二 b
where a.Item=b.Item
drop table #
go
--删除测试
drop table 表一,表二
/*--结果
Item Qty Result
---------- ----------- -----------
A 10 990
A 12 978
A 14 964
B 13 57
B 60 -3
C 30 70
C 40 30
C 10 20
(所影响的行数为 8 行)
--*/

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/632/

标签: SQL
分享给朋友:

“SQL累减语句” 的相关文章

C# 用NPOI操作读写2007版的excel错误

现象: 导出Excel2003正常,导出Excel2007莫名其妙的错误。 C#用NPOI操作读写类网上很多了,在此不重复。 我引用的dll:NPOI.dll,NPOI.OOXML.dll,NPOI.OpenXml4Net.dll, 解决方法:还需要引用ICSharpCode.SharpZipLib...

浅析电波表——基本工作原理

浅析电波表——基本工作原理

一、电波表简介 电波钟表,也称为无线控制计时钟表 ( 英文名称为:Radio Controlled Timepieces)。电波钟是一种新兴的计时产品。目的是为了世界时间同步统一。主要是为了解决目前石英钟表的精确度问题。石英钟表较机械钟表已准确很多,但日差仍有一秒半秒。这种误差对于人们的日常生活没有...

Protel99SE系统设置

Protel99SE系统设置

工欲善其事,必先利其器。此言不谬。在用Protel99SE进行电子电路设计时,在软件系统默认环境下,设计数据库文件会出现对话框信息显示不全、文件占用存储空间太大等问题,并且在操作的过程中由于种种原因,往往出现工具栏不显示、文件保存不当或损坏等问题,然而在大多数情况下,绘图者(特别是初学者)不清楚如何...

湿度对电子元器件的影响

潮湿气候对电子元器件有啥影响?网上有说: 1、使绝缘材料性能降低 2、使金属器件锈蚀 3、使润滑剂变质 这些听起来虚虚的,没有直观的概念与感受。我这里说一个最近碰到的问题。 背景:OTP IC(手表用),开窗(未完全封胶),便于用紫外线擦除程序,重复利用OTP IC。近期广东“回南天&r...

下载标准的好地方

最近几天,一直在寻找关于液晶石英表相关的标准,网上搜来搜去,终于在51zbz上找到了,只有这个地方可以免费下载,其他的不是要注册,就是要花钱买。 所以,向大家推荐这个网站:我要找标准(http://www.51zbz.com/)。 虽说能免费下载,但是此网站有几个缺点: 1、找不到站内搜...

Android:default activity not found

Android:default activity not found

Android:default activity not found 顾名思义,没有默认的activity 一般是AndroidManifest.xml里少了几句话,如图所示: 注意红色框框中的区域...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。