派生列的配置单元查询

a7qyws3x  于 2021-07-13  发布在  Hadoop
关注(0)|答案(2)|浏览(453)

请你带路好吗。
输入表(表1)有如下列:贷方日期、贷方金额、借方日期、借方金额、贷方日期、贷方金额。
输出表(表2)有日期、贷方付款、借方付款、贷款付款等列。
日期:应合并贷方日期、借方日期和贷款日期的所有值。
贷记付款:查找给定贷记日期的贷记金额之和。
借方付款:查找给定借方日期的借方金额总和。
贷款支付:查找给定贷款日期的贷款金额总和
我试过了,但没用。

  1. insert into table2
  2. select
  3. date,
  4. debit_payment,
  5. credit_payment,
  6. Loan_payment
  7. from (
  8. select
  9. sum(credit_amount) over parttion by credit_date as credit_payment,
  10. sum(debit_amount) over parttion by debit_date as Debit_payment
  11. sum(loan_amount) over parttion by loan_date as Loan_payment
  12. from table1
  13. union all
  14. select credit_date as date from table1
  15. union all
  16. select debit_date as date from table1
  17. union all
  18. select payment_date as date from table1
  19. ) t

z8dt9xmd

z8dt9xmd1#

--
我有另一个场景,其中贷方日期、借方日期和贷款日期可以相同。输出表有以下列
日期:应结合贷方日期、借方日期和贷款日期(贷方日期、借方日期和贷款日期也可以相同或不同)

**贷记付款:**查找给定贷记日期、实体、货币、所有者的贷记金额之和

借方付款:查找给定借方日期、实体、货币、所有者的借方金额之和
贷款支付:查找给定贷款日期、实体、货币、所有者的贷款金额之和,
实体:表1中的值
货币:表1中的值
所有者:表1中的值
合计:贷方付款+借方付款+贷款付款之和
请你带路好吗。
请查看以下截图。

展开查看全部
vdgimpew

vdgimpew2#

在联合所有列之前,可能需要显式指定空列:

  1. insert into table2
  2. select *
  3. from (
  4. select credit_date as date, sum(credit_amount) as credit_payment, null as debit_payment, null as loan_payment
  5. from table1
  6. group by credit_date
  7. union all
  8. select debit_date as date, null as credit_payment, sum(debit_amount) as debit_payment, null as loan_payment
  9. from table1
  10. group by debit_date
  11. union all
  12. select loan_date as date, null as credit_payment, null as debit_payment, sum(loan_amount) as loan_payment
  13. from table1
  14. group by loan_date
  15. ) t
  16. order by date;
展开查看全部

相关问题