怎样使用SQL语句更新行累计列值
表:TABLEA
客户编号 应收金额 收款金额
1001 100 80
1001 200 180
1001 300 280
1001 400 380
.. .. ..
行数不确定,金额也不确定
如何查询才能得到这样的结构:
客户编号 应收金额 收款金额 剩余金额
1001 100 80 20
1001 200 180 40
1001 300 280 60
1001 400 380 80
.. .. .. ..
如何才能实现 剩余金额 这样的结果
使用一个更新语句即可解决。代码如下:
declare @a int
set @a = 0
update TABLE1 set
@a = @a + 应收金额 - 收款金额,
剩余金额 = @a
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
在做sql题时,我们最怕遇到条件复杂的查询语句,因为大多时候需要两三个子查询来实现,
而大多数同学,可以说都比较怕子查询的,以前我也被这些题目弄的云里雾里的,
不过做多了这类的题目后发现,其实也有一定规律,我们可以总结一套适合自己的方法来处理,
下面时我对该类题目的处理方法:
有购物表如下:
题目: 查 ......
--行列转换 行转列
DROP TABLE t_change_lc;
CREATE TABLE t_change_lc (card_code VARCHAR2(3), q NUMBER, bal NUMBER);
INSERT INTO t_change_lc
SELECT '001' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100) bal from dual CONNECT BY ROWNUM <= 4
UNION
SELECT '002' card_code, ROWNUM q, tru ......