Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于期初、贷方和余额的运行期末余额SQL查询;Zoho报表中的借方金额_Sql_Zoho - Fatal编程技术网

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

基于期初、贷方和余额的运行期末余额SQL查询;Zoho报表中的借方金额,sql,zoho,Sql,Zoho,我使用的是Zoho Reports,其中我有两个表,各列如下: 总账主表(包括截至2017年4月1日的各总账账户代码的期初余额,2017年4月1日为财政年度开始)。 试算表组(包括各总账账户代码的日期借方和贷方金额) 基于上述内容,我现在想计算各总账账户的日期期末余额,其中特定日期的期末余额应为下一交易日的期初余额。我想有以下方式的结果数据 注意,当我使用Zoho报表时,它仅通过“SELECT”语句开发查询表是有局限性的 针对上述要求,目前我在Zoho报告中创建了3个单独的查询表,查询如下

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

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

试算表组(包括各总账账户代码的日期借方和贷方金额)

基于上述内容,我现在想计算各总账账户的日期期末余额,其中特定日期的期末余额应为下一交易日的期初余额。我想有以下方式的结果数据

注意,当我使用Zoho报表时,它仅通过“SELECT”语句开发查询表是有局限性的

针对上述要求,目前我在Zoho报告中创建了3个单独的查询表,查询如下:

第一表:Q1\U 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 
第三个表:TB Group_Op.Db.Cr.Cl_AM(这是我想要的最终输出表,但值不太正确。无法确定创建的查询是否存在任何问题)

选择
t1.“总账账户代码”作为“总账账户代码”,
t1.“开业日期”作为“开业日期”,
总额(如果(t1.acc\U金额>0,t1.acc\U金额,0))作为“借方金额”,
总额(如果(t2.acc_金额<0,t1.acc_金额,0))为“贷方金额”,
金额(如果(t1.“期初日期”>t2.“期初日期”,t2.“营业余额”+t2.“账户金额”,t2.“营业余额”)作为“期初余额”,
总额(t2.“营业余额”+t2.“会计金额”)为“合并结算”
从“Q1_AM”t1加入t1上的“Q2_AM”t2。“总账账户代码”=t2。“总账账户代码”
t1.“开业日期”>=t2.“开业日期”
按1,2分组

您可能希望编辑您的帖子,并添加到目前为止您尝试使用的SQL SELECT语句的解释。我已发布了为您的评论尝试的查询。我已编辑了您的帖子,将代码设置为代码格式。仅供参考,任何以四个或更多空格开头的行都将被视为代码。否则就不是了,谢谢。请您仔细阅读SELECT语句并给我您对SELECT语句的反馈。您已经清楚地解释了您想要的结果。你能更清楚地解释一下,你得到的结果也“不太正确”吗?
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