如何应用SQL Server数据库中查询累计值

如何应用SQL Server数据库中查询累计值,第1张

IF NOT OBJECT_ID('[Testprice2010]') IS NULL

DROP TABLE [Testprice2010]

GO

CREATE TABLE [Testprice2010]

([ID] int,

[Price] float null

)

go

INSERT [Testprice2010]

SELECT 1,5 union all

SELECT 2,10 union all

SELECT 3,8 union all

SELECT 7,9

go

select ID as maxID,

(select sum([Price]) from Testprice2010 where ID<=p.[ID]) as TotalPrice

from [Testprice2010] p

drop table [Testprice2010]

go

首先,解决问题有很多的做法,我只推荐一个严谨的做法!

要设两个表,一个叫流水表,一个叫当前余额表。

【流水表】

日期,金额,余额

9.1 100 100

9.2 500 600

9.3 300 900

……

【余额表】

当前余额

900

每次插入新数据时(例如: 9.4 200 ),有如下步骤

1、将余额表里的余额查出来(900)

2、进行计算(900+200=1100)

3、用计算结果1100,更新余额表(UPDATE……)

4、将新数据插入流水表,(INSERT 流水表 VALUES(9.4,200,1100))


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6762687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存