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

चुनिंदा एसक्यूएल स्टेटमेंट (ओरेकल डीबीएमएस) के साथ दो डेटा सेट का विलय कैसे करें?

रोमन, आपको अपने चयन पर एक पूर्ण बाहरी जुड़ाव करने की आवश्यकता है ताकि, किसी भी घटना प्रकार आईडी के लिए (और मैं मान रहा हूं कि आपके पास किसी विशेष घटना प्रकार आईडी के लिए आपके अतीत और भविष्य दोनों तालिकाओं में 0 या 1 पंक्ति होगी), आप एक पंक्ति, और उपयुक्त शून्य और गैर-शून्य तिथियों को आउटपुट करेंगे।

पहला उत्तर दो स्रोतों की तारीखों को एक पंक्ति में संयोजित नहीं करेगा, जो कि मेरा मानना ​​है कि आपने यही मांगा था।

दूसरा उत्तर करीब था, लेकिन आंतरिक जुड़ाव के कारण केवल पिछली और भविष्य की तारीख (यानी:प्रत्येक तालिका में एक) दोनों के साथ पंक्तियों के लिए काम करेगा।

उदाहरण:

insert into event_target (event_type_id, past_event_date, future_event_date)
select nvl(p.event_type_id, f.event_type_id), p.event_date, f.event_date
from
events_source_1 p full outer join
events_source_2 f on p.event_type_id = f.event_type_id

ध्यान दें कि nvl फ़ंक्शन Oracle के लिए है और यह देखे जाने वाले पहले गैर-शून्य का उपयोग करेगा। SQL सर्वर के लिए ISNULL का उपयोग किया जा सकता है।



  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 ट्रिगर

  2. ओरेकल में तिथि कास्टिंग

  3. मिश्रित वर्चर कॉलम का उपयोग करके परिणामों का ओरेकल ऑर्डर करना लेकिन संख्यात्मक जहां क्लॉज

  4. Oracle UNION और ORDER BY के साथ जिज्ञासु मुद्दा

  5. पुनरावर्ती SQL और विभिन्न स्तरों पर जानकारी