如何查询MySQL数据库中从B列到A列的扣减余额
我有一个名为cdr_records的表,其中包含以下列:如何查询MySQL数据库中从B列到A列的扣减余额,mysql,Mysql,我有一个名为cdr_records的表,其中包含以下列: 表:CDR_记录 ------------------ CDR\u ID日期支票\u无收款人姓名\u签发的支票\u 1 2014-01-01 3456111约翰·史密斯1830.96 2 2014-01-01 3456112陈李90048.92 3 2014-01-01 3456113母鸡路22740.75 我还创建了另一个表,记录了NCA(现金分配通知)接收的所有数据,这些数据将分配给每个支票发行 表:NCA ----------
表:CDR_记录 ------------------ CDR\u ID日期支票\u无收款人姓名\u签发的支票\u 1 2014-01-01 3456111约翰·史密斯1830.96 2 2014-01-01 3456112陈李90048.92 3 2014-01-01 3456113母鸡路22740.75 我还创建了另一个表,记录了NCA(现金分配通知)接收的所有数据,这些数据将分配给每个支票发行
表:NCA ---------- NCA_收到NCA_的日期 2014-01-01 7,257,000.00 2014-01-01 5,564,000.00 使用该查询,选择SUM(NCA_RECEIVED)将得到12821000 我想通过减去 每次签发支票的金额为12821000,以获得以下余额:
12821000-1830=12819170
12819170-90048.92=12729121.08
等等,如下所示 CDR_ID DATE CHECK_NO NAME_OF_PAYEE CHECKS_ISSUED BANK_BALANCE 1 2014-01-01 3456111 John Smith 1,830.96 12,819,170.00 2 2014-01-01 3456112 Chen Lee 90,048.92 12,729,121.08 3 2014-01-01 3456113 Hen Lu 22,740.75 12,706,380.33 CDR ID日期支票无收款人姓名支票签发银行余额 1 2014-01-01 3456111约翰·史密斯1830.96 12819170.00 2 2014-01-01 3456112陈李90048.92 12729121.08 3 2014-01-01 3456113母鸡路22740.75 12706380.33
有人能帮我查询如何获得每次支票签发扣除的流动余额吗? 任何帮助都将不胜感激。。谢谢 谢谢你的回答,它真正解决了如何显示跑步平衡 但另一个问题是,我使用外键存储不同表中的数据,如下所示: 表:问题详情 出库标识(PK)出库日期检查无出库金额 1 2014-01-01 345611 1,500.00 2 2014-01-01 345612 21000.12 表:cdr_记录 cdr_id(PK)问题_id(FK) 1 1 2.2 表:nca nca\u编号(主键)nca\u收到nca\u的日期 111 2014-01-01 7,257,000.00 112 2014-01-01 5,564,000.00
我是sql新手,在执行计算时不擅长连接表。如何对关系表执行相同的计算?您可以使用变量执行此操作。该键正在将总数初始化为`nca表中的值
select r.*,
(@tot := @tot - checks_issued) as bank_balance
from (select @tot := sum(nca_received) as nca
from nca
) vars cross join
cdr_records r
order by r.date, r.check_no;
CDR_ID DATE CHECK_NO NAME_OF_PAYEE CHECKS_ISSUED BANK_BALANCE
1 2014-01-01 3456111 John Smith 1,830.96 12,819,170.00
2 2014-01-01 3456112 Chen Lee 90,048.92 12,729,121.08
3 2014-01-01 3456113 Hen Lu 22,740.75 12,706,380.33
Table: issue_details
issue_id (PK) issue_date check_no issue_amount
1 2014-01-01 345611 1,500.00
2 2014-01-01 345612 21,000.12
Table: cdr_records
cdr_id (PK) issue_id (FK)
1 1
2 2
Table: nca
nca_no (PK) nca_date nca_received
111 2014-01-01 7,257,000.00
112 2014-01-01 5,564,000.00
select r.*,
(@tot := @tot - checks_issued) as bank_balance
from (select @tot := sum(nca_received) as nca
from nca
) vars cross join
cdr_records r
order by r.date, r.check_no;