簡體   English   中英

總和列Oracle

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM