我有一个名为cdr_records的表,其中包含以下列:
TABLE: CDR_RECORDS ------------------ CDR_ID DATE CHECK_NO NAME_OF_PAYEE CHECKS_ISSUED 1 2014-01-01 3456111 John Smith 1,830.96 2 2014-01-01 3456112 Chen Lee 90,048.92 3 2014-01-01 3456113 Hen Lu 22,740.75
我创建了另一张表,记录了每张支票发行的NCA(现金分配通知)收据的所有数据。
TABLE: NCA ---------- NCA_DATE NCA_RECEIVED 2014-01-01 7,257,000.00 2014-01-01 5,564,000.00
使用查询,SELECT SUM(NCA_RECEIVED)将产生12,821,000
我想通过减去支票来显示每张支票发行记录的BANK_BALANCE 每笔支票发行总额为12,821,000,以获得余额如下:
12,821,000 - 1,830 = 12,819,170
12,819,170 - 90,048.92 = 12,729,121.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
任何人都可以帮我查询如何获取扣除每张支票发行的运行余额吗? 任何帮助都将非常感谢..谢谢
感谢您的回答,它真正解决了如何显示运行平衡......
但另一个问题是我使用外键存储来自不同表的数据,如下所示:
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.12Table: 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
我是sql的新手,我不擅长在执行计算时加入表格。如何对关系表执行相同的计算?
答案 0 :(得分:0)
您可以使用变量执行此操作。关键是将总数初始化为`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;