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

जॉइन इश्यू:हल करने के लिए SQL स्टेटमेंट को ठीक करें:ORA-01799:एक कॉलम सबक्वेरी से बाहरी-जुड़ा नहीं हो सकता है

यदि आप इसे where . पर स्विच करते हैं तो यह काम करना चाहिए खंड:

select *
from acc_accounts acc join
     kp_paramcore p
     on acc.account_no = p.accountnum and
        acc.suffix = p.suffixc LEFT JOIN
     ftf_rates fx
     ON p.maturestart = fx.ftf_vadealtsinir and
        p.maturefinish = fx.ftf_vadeustsinir and
        fx.statusrec = 'A' and
        fx.currencycode = acc.currencsw_kod and
        fx.status= 'A'
 where fx.ftf_validitystartdate= (SELECT MAX(ff.ftf_validitystartdate)
                                 FROM ftf_rates ff
                                 WHERE ff.status = 'A' and
                                       ff.statusrec = 'A'
                                       p.v_CurrentDate BETWEEN ff.systemstartdate AND ff.systemfinishdate                                            AND ff.currencycode = acc.currencsw_kod
                                )

हालांकि, आप 'बाएं बाहरी जुड़ाव' विशेषताओं को खो देते हैं, इसलिए आप यह भी जोड़ना चाहेंगे:or fx.ftf_validitystartdate is null . मुझे लगता है कि v_CurrentDate "पी" से आता है। स्तंभ नामों से पहले तालिका उपनामों का उपयोग करना हमेशा एक अच्छा विचार है।

हालांकि, मैं सवाल करता हूं कि सबक्वायरी वास्तव में जरूरी है या नहीं। इसकी आवश्यकता केवल तभी होती है जब एक से अधिक रिकॉर्ड होते हैं जो सबक्वेरी के अंदर की शर्तों को पूरा करते हैं। अन्यथा, मुझे लगता है कि आप बस on . को बदल सकते हैं होने वाला खंड:

    ON p.maturestart = fx.ftf_vadealtsinir and
       p.maturefinish = fx.ftf_vadeustsinir and
       fx.statusrec = 'A' and
       fx.currencycode = acc.currencsw_kod and
       fx.status= 'A'and
       p.v_CurrentDate BETWEEN fx.systemstartdate AND fx.systemfinishdate


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:ORA-01843:मान्य माह नहीं है

  2. नमूना डेटा - संग्रहीत प्रक्रिया को निष्पादित करते समय समस्या जिसमें अद्यतन और सम्मिलित विवरण दोनों शामिल हैं

  3. जावा:Oracle XMLType + JDBC

  4. ऑडिट उद्देश्यों के लिए syscontext/हाइबरनेट के साथ कनेक्शन पर ClientInfo/ClientIdentifier पास करना

  5. क्या DETERMINISTIC के समान कोई PL/SQL प्रगति है, लेकिन एक एकल SQL चयन के दायरे के लिए?