大家好,我希望有人能帮助我。我有1个表,我想创建一个mysql查询,该查询将在最后一个列中添加一列,该列将计算存款金额和支票发行金额(存款金额-支票发行金额)= RUNNING BALANCE
tbl
-------------------------------------------------------------------------
| Date_Deposited | deposited_amount | Date_Cheque_Issued | issued_amount |
-------------------------------------------------------------------------
May 16, 2019 1,000.00 May 16, 2019 500.00
May 17, 2019 100.00
May 18 2019 1,000.00
我希望在最后一个带有BALANCE列的表格中创建
------------------------------------------------------------------------------
| Date_Deposited | deposited_amount | Date_Cheque_Issued | issued_amount | Bal |
-------------------------------------------------------------------------
May 16, 2019 1,000.00 May 16, 2019 500.00 500.00
May 17, 2019 100.00 400.00
May 18 2019 1,000.00 1,400.00
答案 0 :(得分:0)
可以使用temporary table计算运行余额。可以使用以下查询:
create TEMPORARY table tbl_temp (select * from tbl);
update tbl t1 set t1.Bal=(SELECT SUM(t2.deposited_amount-t2.issued_amount) FROM tbl_temp t2 WHERE t2.id<=t1.id);
select * from tbl;
需要一个临时表,因为要更新的表将在更新过程中被锁定,因此不能同时用于更新和选择。请注意,临时表仅在与MySQL服务器的连接期间存在。
上面的查询使用一个子查询,该查询返回临时表中直至当前行的所有行的余额。余额将分配给实际表中的当前行。该查询假定tbl表具有一个名为'id'的主键列。
答案 1 :(得分:-2)
您可以先更改表以添加列,例如
hugo new projects/projectsample.md
在表中创建列之后,您可以使用update语句使用数据对其进行更新
Error: yaml: line 1: did not find expected key