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

SQL累减语句

xjtudll4年前 (2022-02-07)技术心得7480

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://www.xjtudll.cn/Exp/632/

标签: SQL
分享给朋友:

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

电阻主要技术参数

电阻主要技术参数

1、额定功率 电阻器在电路中长时间连续工作不损坏或不显著改变其性能时所允许消耗的最大功率,称为电阻器的额定功率。 为防止电阻器在电路中被烧毁,选择电阻器时,应使额定功率高于实际消耗功率的1.5~2倍。市场上销售的电阻器,对小于0. 5W的一般不标其功率,使用者凭经验,按体积大小估计。同类电阻,体...

Proteus7.6SP4汉化补丁

不得不说国内牛人还是相当多的。尤其是sexywp大牛,看他Proteus破解的相当好。下面这个Proteus 7.6 SP4汉化补丁就是由他修改的。下载地址:http://ishare.iask.sina.com.cn/f/6733828.html介绍:用7.5的汉化修改而来,先和谐,再用汉化补丁覆...

CC2541  HOGP Android 5.x无法自动回连

CC2541 HOGP Android 5.x无法自动回连

参考资料: https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/406142 问题: 使用CC254x做BLE键盘,利用HOGP(HID Over Gatt Profile),成功实现了键盘的功能...

解决IIS 不能下载.exe.config文件的方法

解决IIS 不能下载.exe.config文件的方法

  问题: 做了一个winform自动升级功能,通过http协议下载更新,发现每次得到的config文件字节都是0 原因: config文件默认不能通过浏览器下载。 分析及解决办法: Config文件是web的配置文件,默认是不允许下载的,就算在MIME中配置“applicat...

加速度传感器选型考虑

模拟输出VS数字输出 这个是最先需要考虑的。这个取决于你系统中和加速度传感器之间的接口。一般模拟输出的电压和加速度是成比例的,比如2.5V对应0g的加速度,2.6V对应于0.5g的加速度。数字输出一般是I2C或SPI接口。 如果你使用的微控制器有模拟输入口,比如PIC/AVR,你可以非常简单的使...

WinRAR创建自解压程序

WinRAR创建自解压程序

前面提到了用FilePacker来打包文件夹(http://www.xjtudll.cn/Exp/63/),这次介绍的是用WinRAR来创建自解压程序,从而实现发布单文件程序的目的。当然,你也可以另作他用。WinRAR相当普及,几乎人人电脑上都有。如何用WinRAR创建自解压程序呢?且看下面分解。1...

发表评论

访客

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