Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

दो अलग-अलग तालिकाओं से राशि जोड़ें Oracle

मुझे लगता है कि आपको एक बाहरी जॉइन की आवश्यकता है।

आपके पास अनिवार्य रूप से इस तरह के दो डेटासेट हैं:

Set1: ID VAL     Set2: ID Val    => Expected Result:
       1  10            1   5       1  15
       2  20                        2  20
       3  30                        3  30

तो आपको एक राइट आउटर जॉइन चाहिए

आपके SQL के लिए यह होगा:

select  e.sol_id
       ,(sum(CASE WHEN e.INTEREST_IND = 'D' THEN e.AMOUNT_IN_LCY ELSE 0 END)
          - sum(CASE WHEN e.INTEREST_IND = 'C' THEN e.AMOUNT_IN_LCY ELSE 0 END)
          + sum(f.AMOUNT_IN_LCY)
        ) as Difference 
  from  tbaadm.INTEREST_DETAILS e
        LEFT OUTER JOIN
          tbaadm.CHARGE_DETAILS f
        ON E.SOL_ID = F.SOL_ID
 group  by e.sol_id, f.sol_id;

(+) तालिका को दर्शाता है, जो NULL भी हो सकता है। इसे लिखने का दूसरा तरीका यह होगा:

select  e.sol_id
       ,(sum(CASE WHEN e.INTEREST_IND = 'D' THEN e.AMOUNT_IN_LCY ELSE 0 END)
          - sum(CASE WHEN e.INTEREST_IND = 'C' THEN e.AMOUNT_IN_LCY ELSE 0 END)
          + sum(f.AMOUNT_IN_LCY)
        ) as Difference 
  from  tbaadm.INTEREST_DETAILS e
        LEFT OUTER JOIN
          tbaadm.CHARGE_DETAILS f
        ON E.SOL_ID = F.SOL_ID
 group  by e.sol_id, f.sol_id;

दूसरा संस्करण SQL मानक के अनुरूप है, जबकि पहला संस्करण (+) केवल Oracle द्वारा समर्थित है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल में नौकरियों को कैसे निष्पादित करें?

  2. Capgemini Agile Innovation Platform और Oracle Cloud के साथ क्लाउड नेटिव और DevSecOps बड़े पैमाने पर

  3. oracle sql गिनती करते समय अभिव्यक्ति द्वारा समूह नहीं है

  4. एक ही जेपीए वर्ग के लिए एकाधिक डेटाबेस समर्थन

  5. साउंडएक्स स्ट्रिंग पैरामीटर के रूप में संख्याओं के साथ