基于Zoho报表中期初,贷方和借方金额的期末余额运行SQL查询

时间:2018-08-26 03:51:46

标签: sql zoho

我正在使用Zoho Reports,其中我有两个表,各自的列如下:

总账主表(包括截至2017年4月1日(即财政年度开始)的总账科目代码的期初余额。

GL Master Table

试验余额组(由各个总帐科目代码的按日期排列的借方和贷方金额组成)

Trial Balance Group

基于以上所述,我现在要计算各个总帐帐户的按日期计的期末余额,其中特定日期的期末余额应为下一个交易日期的期初余额。我想以以下方式获得结果数据。

Trial Balance Result

请注意,由于我在使用Zoho报表,因此仅通过“ SELECT”语句开发查询表存在局限性。

对于上述要求,目前我在Zoho报表中创建了3个带有查询的独立查询表,如下所示:

第一个表:Q1_AM

SELECT
     "GL Account Code",
     "Opening Date",
     "Opening Balance",
     0 as acc_amt
FROM  "GL Master Account" 
UNION ALL
SELECT
     "GL Account Code",
     "Document Date",
     0,
     sum("Debit Amount" + "Credit Amount")
FROM  "Trial Balance 1617" 
GROUP BY 1,2,3 

第二张表:Q2_AM

SELECT
     "GL Account Code",
     "Opening Date",
     sum("Opening Balance") as op_bal,
     sum("acc_amt") as acc_amt
FROM  "Q1_AM" 
GROUP BY 1,2 

第3个表:TB Group_Op.Db.Cr.Cl_AM(这是我想要的最终输出表,但是值不是正确的。无法确定所创建的查询是否存在任何问题。)

SELECT
     t1."GL Account Code" as "GL Account Code",
     t1."opening date" as "Opening Date",
     sum(if(t1.acc_amt  > 0, t1.acc_amt, 0)) as "Debit Amount",
     sum(if(t2.acc_amt  < 0, t1.acc_amt, 0)) as "Credit Amount",
     sum(if(t1."Opening Date"  > t2."Opening Date", t2."op_bal" + t2."acc_amt", t2."op_bal")) as "Opening Balance",
     sum(t2."op_bal" + t2."acc_amt") as "Cum. Closing"
FROM  "Q1_AM" t1 JOIN "Q2_AM" t2 ON t1."GL Account Code"  = t2."GL Account Code"
AND t1."opening date"  >= t2."Opening Date"  
GROUP BY 1,2 

0 个答案:

没有答案