SQL 如何让查询记录中其中一个字段的值是等于这一字段上一行的值减去同行另外两个字段的值。

图片的值是用查询语句查询而来,如何实现本行余额=上一行的余额减去本行的收款加上本行的应收,依次类推。... 图片的值是用查询语句查询而来,如何实现本行余额=上一行的余额减去本行的收款加上本行的应收,依次类推。 展开
 我来答
匿名用户
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 行受影响)



一个例子, 你参考一下!

百度网友fd5bd8e5
2013-06-13 · 超过30用户采纳过TA的回答
知道答主
回答量:144
采纳率:0%
帮助的人:77.5万
展开全部
update t1 set t1.余额 = t2.余额-t1.收款+t1.应收 from t1 inner join t2 on 条件
on的条件要确定好两条件记录的上下关系
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式