问题描述
请指导一下
我有一个场景,其中credit_Date、debit_date 和loan_date 可以具有不同的日期值或相同的值。输出表有以下列
日期:应该结合credit_date、debit_date和loan_date(credit_date、debit_date和loan_date可以相同(或)有不同的日期)
Credit_payment:查找给定信用日期、实体、货币、所有者的信用金额总和
Debit_payment:查找给定借记日期、实体、货币、所有者的借记金额总和
Loan_payment:查找给定贷款日期、实体、货币、所有者的贷款金额总和,
实体:来自表 1 的值
货币:表 1 中的值
所有者:表 1 中的值
总计:(credit_payment + debit_payement+loan_payment)的总和
解决方法
您可以使用与我的 previous answer 中类似的查询,并更改 table1
的格式以方便按日期分组:
select coalesce(credit_date,debit_date,loan_date) as date,coalesce(sum(credit_amount),0) as credit_payment,coalesce(sum(debit_amount),0) as debit_payment,coalesce(sum(loan_amount),0) as loan_payment,entity,currency,owner,0) + coalesce(sum(debit_amount),0) + coalesce(sum(loan_amount),0) as Total
from (
select credit_date,credit_amount,null as debit_date,null as debit_amount,null as loan_date,null as loan_amount,owner
from table1
union all
select null as credit_date,null as credit_amount,debit_amount,loan_date,loan_amount,owner
from table1
) t
group by coalesce(credit_date,loan_date),owner