Crystal Reports使用SQL查询并生成累积余额列

时间:2015-07-02 09:38:00

标签: sql-server crystal-reports

以下是我在Crystal Reports中使用的SQL查询。

SELECT     
    sum_date, sum_accname, sum_description, credit, debit
FROM
    sum_balance
WHERE
    sum_accname = {?acc_name}
    AND sum_date >= {?fromDate}
    AND sum_date <= {?toDate}

工作正常,但我需要使用信用卡和借记卡作为累积余额列(银行对帐单上的余额列)获得另一列。虽然我的参数正在运行,并且数据是根据提供的日期进行过滤的,但我无法获得实际余额,因为它只计算这两个日期之间的数据。

有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:0)

您可以使用之前的功能在水晶报表中获得前几天的余额。

获取累积余额创建公式并写入credit - debit并在设计中放入信用卡和借记列之后。

如果您需要更多信息,请显示重新设计的设计部分以及您在哪里放置列。

答案 1 :(得分:0)

我认为您需要在查询中添加一行,如下所示:

SELECT     
    MAX(sum_date) As sum_date, MAX(sum_accname) As sum_accname, 
    MAX(sum_description) As sum_description, 
    SUM(credit) As credit, SUM(debit) As debit, 1 As uNo
FROM
    sum_balance
WHERE
    sum_accname = {?acc_name}
    AND sum_date < {?fromDate}
UNION ALL
SELECT     
    sum_date, sum_accname, sum_description, credit, debit , 2 as uNo
FROM
    sum_balance
WHERE
    sum_accname = {?acc_name}
    AND sum_date >= {?fromDate}
    AND sum_date <= {?toDate}

将此查询作为您的第一行,或uNo = 1具有旧借记和贷记总和的行。