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

Oracle एकाधिक तालिकाओं से चयन के माध्यम से सम्मिलित करें जहाँ एक तालिका में पंक्ति नहीं हो सकती है

आउटर जॉइन उस मामले में "उम्मीद के मुताबिक" काम नहीं करता है क्योंकि आपने ओरेकल को स्पष्ट रूप से बताया है कि आप केवल डेटा चाहते हैं यदि उस टेबल पर मानदंड मेल खाता है। उस परिदृश्य में, बाहरी जुड़ाव बेकार हो जाता है।

वर्कअराउंड

INSERT INTO account_type_standard 
  (account_type_Standard_id, tax_status_id, recipient_id) 
VALUES( 
  (SELECT account_type_standard_seq.nextval FROM DUAL),
  (SELECT tax_status_id FROM tax_status WHERE tax_status_code = ?), 
  (SELECT recipient_id FROM recipient WHERE recipient_code = ?)
)

[संपादित करें] यदि आप उप-चयन से कई पंक्तियों की अपेक्षा करते हैं, तो आप प्रत्येक खंड में ROWNUM=1 जोड़ सकते हैं या MAX या MIN जैसे कुल का उपयोग कर सकते हैं। यह निश्चित रूप से सभी मामलों के लिए सबसे अच्छा समाधान नहीं हो सकता है।

[संपादित करें] प्रति टिप्पणी,

  (SELECT account_type_standard_seq.nextval FROM DUAL),

बस हो सकता है

  account_type_standard_seq.nextval,


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle डेटाबेस में पैरामीटर के बिना PL/SQL संग्रहीत कार्यविधियाँ कैसे बनाएँ?

  2. Oracle में डेटाटाइम प्रारूप तत्वों की सूची

  3. MySQL:पंक्ति-स्तरीय सुरक्षा कैसे करें (जैसे Oracle का वर्चुअल प्राइवेट डेटाबेस)?

  4. वृद्धि पंक्ति संख्या जब Oracle में फ़ील्ड का मान बदलता है

  5. एक निश्चित समय अंतराल पर कुल कार्य