首页 > 解决方案 > 如何将以前的余额添加到报表中的运行总计

问题描述

我正在准备一份从 MySQL 数据库中提取数据的报告。此报告涉及运行总计。运行总计运行良好,只是先前余额未加到运行总计中。

实际上,我是 PHP 和 MySQL 的新手。我能够在 MS Access 报告中做到这一点。请参阅此处:仅在访问报告中添加到第一行的先前余额

我为报告使用以下代码:

SELECT
    Pmt_Date,
    Description,
    Amount_In,
    Amount_Out,
    (@sum := @sum + Balance) AS BalanceTotal
FROM
    view_transactions
JOIN(
SELECT @sum := 0
) AS tx
WHERE
    Sch_Code = ? AND SESSION = ? AND Term = ? AND Bank = ? AND(
        Pmt_Date BETWEEN '".$st_start_date."' AND '".$st_end_date."'
    )
ORDER BY
    Pmt_Date ASC

我使用以下代码来获取以前的余额:

SELECT
    SUM(Balance) AS PreBalance
FROM
    view_transactions
WHERE
    Sch_Code = ? AND SESSION = ? AND Term = ? AND Bank = ? AND(Pmt_Date < '".$st_start_date."')

我知道用我的方法,我只能得到这样的东西: https ://i.stack.imgur.com/rcRBb.png (我目前正在得到),但所需的输出应该是这样的: https:// /i.stack.imgur.com/IuT5E.png

(请比较余额列)

任何帮助将不胜感激。

标签: phpmysqlfpdf

解决方案


如果有人对我如何解决它感兴趣:

我改变了这部分:

SELECT @sum := 0

对此:

SELECT @sum := COALESCE(NULLIF(SUM(Balance), ''), 0)
FROM
    view_transactions
WHERE
    Sch_Code = ? AND Session = ? AND Term = ? AND Bank = ? AND (Pmt_Date < '".$st_start_date."')

推荐阅读