【发布时间】:2021-06-08 01:07:00
【问题描述】:
下面是我的基表
我需要根据我的基表创建如下格式的视图。 这里 Deposit_Acc_Count 是 (Type -> SB,RD, FD) 的组合,Loan_Acc_Count 是 (Type ->LO) 与金额相同。
谁能帮我实现这个目标。
【问题讨论】:
标签: sql oracle group-by oracle11g
下面是我的基表
我需要根据我的基表创建如下格式的视图。 这里 Deposit_Acc_Count 是 (Type -> SB,RD, FD) 的组合,Loan_Acc_Count 是 (Type ->LO) 与金额相同。
谁能帮我实现这个目标。
【问题讨论】:
标签: sql oracle group-by oracle11g
您可以在按br_code 和cif 列分组时使用条件聚合,例如
SELECT br_code, cif,
COUNT(CASE WHEN type IN ('SB','RD', 'FD') THEN Amt END) AS deposit_acc_count,
SUM(CASE WHEN type IN ('SB','RD', 'FD') THEN Amt ELSE 0 END) AS deposit_acc_amt,
COUNT(CASE WHEN type = 'LO' THEN Amt END) AS loan_acc_count,
SUM(CASE WHEN type = 'LO' THEN Amt ELSE 0 END) AS loan_acc_amt,
COUNT(*) AS total_count,
SUM(amt) AS total_amt
FROM t
GROUP BY br_code, cif
【讨论】: