SQL 如何让查询记录中其中一个字段的值是等于这一字段上一行的值减去同行另外两个字段的值。
图片的值是用查询语句查询而来,如何实现本行余额=上一行的余额减去本行的收款加上本行的应收,依次类推。...
图片的值是用查询语句查询而来,如何实现本行余额=上一行的余额减去本行的收款加上本行的应收,依次类推。
展开
2个回答
2013-06-13
展开全部
CREATE TABLE test_AddSub (
year INT,
Sub_Val INT,
Add_val INT
);
GO
INSERT INTO test_AddSub VALUES(2000, 0, 1000);
INSERT INTO test_AddSub VALUES(2001, 0, 2000);
INSERT INTO test_AddSub VALUES(2002, 0, 3000);
INSERT INTO test_AddSub VALUES(2003, 0, 4000);
INSERT INTO test_AddSub VALUES(2004, 1000, 0);
INSERT INTO test_AddSub VALUES(2005, 2000, 0);
INSERT INTO test_AddSub VALUES(2006, 3000, 0);
INSERT INTO test_AddSub VALUES(2007, 4000, 0);
GO
SELECT
year, Sub_Val, Add_val,
(SELECT SUM(Add_val - Sub_Val) FROM test_AddSub t2 WHERE t2.year <= test_AddSub.year) AS Result
FROM
test_AddSub;
GO
year Sub_Val Add_val Result
----------- ----------- ----------- -----------
2000 0 1000 1000
2001 0 2000 3000
2002 0 3000 6000
2003 0 4000 10000
2004 1000 0 9000
2005 2000 0 7000
2006 3000 0 4000
2007 4000 0 0
(8 行受影响)
一个例子, 你参考一下!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询