मेरे पास एक बहुत ही मूल LEFT OUTER JOIN है, जो बाईं तालिका से सभी परिणाम और कुछ बड़ी तालिका से कुछ अतिरिक्त जानकारी वापस करने के लिए है। बाईं तालिका में 4935 रिकॉर्ड हैं, फिर भी जब मैं एक अतिरिक्त तालिका में शामिल होता हूं तो रिकॉर्ड संख्या काफी बड़ी हो जाती है।
जहां तक मुझे पता है कि यह पूर्ण सुसमाचार है कि एक बाईं ओर जॉय बाईं तालिका से सभी अभिलेखों को दाएं तालिका से मिलान किए गए रिकॉर्ड के साथ वापस कर देगा और किसी भी पंक्तियों के लिए शून्य मान मेल नहीं खा सकता है, जैसे कि यह मेरी समझ है कि यह होना चाहिए बाईं तालिका में मौजूद से अधिक पंक्तियों को वापस करना असंभव है, लेकिन यह सब एक ही हो रहा है!
SQL क्वेरी निम्नानुसार है:
SELECT SUSP.Susp_Visits.SuspReason, SUSP.Susp_Visits.SiteID
FROM SUSP.Susp_Visits LEFT OUTER JOIN
DATA.Dim_Member ON SUSP.Susp_Visits.MemID = DATA.Dim_Member.MembershipNum
शायद मैंने वाक्य रचना में गलती की है या LEFT OUTER JOIN की मेरी समझ अधूरी है, उम्मीद है कि कोई समझा सकता है कि यह कैसे हो सकता है?
परिशिष्ट भाग
महान जवाब के लिए धन्यवाद, बायाँ ओटीपी जॉन्स की मेरी समझ अब बहुत बेहतर है, लेकिन क्या कोई ऐसा तरीका सुझा सकता है जिससे इस प्रश्न को संशोधित किया जा सके ताकि मैं केवल उतने ही रिकॉर्ड प्राप्त कर सकूं जितना कि बाईं तालिका में मौजूद है?
यह क्वेरी विशुद्ध रूप से एक रिपोर्ट उत्पन्न करने के लिए है और डुप्लिकेट मैच केवल मामलों को भ्रमित करते हैं।
/परिशिष्ट भाग