[英]sum column Oracle
您好,我在3個表格中有數據,代碼如下。
甲骨文
select distinct
t2.coll_no,
t1.account_number,
t1.commitment_number,
t3.APPRAISAL_AMT
from table1 t1
LEFT JOIN table2 t2
ON T2.OBLIGATION_ACCOUNT_NUMBER = T1.ACCOUNT_NUMBER
AND T2.OBLIGATION_NUMBER = T1.COMMITMENT_NUMBER
LEFT jOIN table3 t3
ON t3.COLL_NO = t3.cOLL_NO
每個coll_no具有不同的afs_appraisal數量。
我希望只用5個評估金額的總和作為一行,而不是5個評估價值的唯一差異。
假設您的語法/邏輯是正確的,則需要在t3.APPRAISAL_AMT和GROUP BY上加上一些其他屬性,這些屬性在我下面假設為t2.coll_no。
select distinct
t2.coll_no,
t1.account_number,
t1.commitment_number,
SUM(t3.APPRAISAL_AMT)
from table1 t1
LEFT JOIN table2 t2
ON T2.OBLIGATION_ACCOUNT_NUMBER = T1.ACCOUNT_NUMBER
AND T2.OBLIGATION_NUMBER = T1.COMMITMENT_NUMBER
LEFT jOIN table3 t3
ON t3.COLL_NO = t3.cOLL_NO
GROUP BY t2.coll_no
我認為您只需要條件聚合:
select sum(case when t2.coll_no = <val1> then t3.appraisal_amt end) as appraisal_1,
sum(case when t2.coll_no = <val2> then t3.appraisal_amt end) as appraisal_2,
sum(case when t2.coll_no = <val3> then t3.appraisal_amt end) as appraisal_3,
sum(case when t2.coll_no = <val4> then t3.appraisal_amt end) as appraisal_4,
sum(case when t2.coll_no = <val5> then t3.appraisal_amt end) as appraisal_5
from table1 t1 left join
table2 t2
on T2.OBLIGATION_ACCOUNT_NUMBER = T1.ACCOUNT_NUMBER and
T2.OBLIGATION_NUMBER = T1.COMMITMENT_NUMBER left join
table3 t3
on t3.COLL_NO = t3.cOLL_NO;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.