ฉันมีการเข้าร่วมด้านซ้ายด้านนอกขั้นพื้นฐานมากเพื่อส่งคืนผลลัพธ์ทั้งหมดจากตารางด้านซ้ายและข้อมูลเพิ่มเติมจากตารางที่ใหญ่กว่ามาก ตารางด้านซ้ายมีระเบียน 4935 แต่เมื่อฉันออกไปด้านนอกเข้าร่วมกับตารางเพิ่มเติมการนับระเบียนนั้นใหญ่กว่ามาก
เท่าที่ฉันทราบมันเป็นข่าวประเสริฐแน่นอนที่ซ้ายด้านนอกเข้าร่วมจะส่งกลับระเบียนทั้งหมดจากตารางด้านซ้ายด้วยระเบียนที่ตรงกันจากตารางด้านขวาและค่า null สำหรับแถวใด ๆ ที่ไม่สามารถจับคู่ได้ดังนั้นฉันเข้าใจว่าควร เป็นไปไม่ได้ที่จะส่งคืนแถวมากกว่าที่มีอยู่ในตารางด้านซ้าย แต่มันเกิดขึ้นเหมือนกันทั้งหมด!
แบบสอบถาม 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
บางทีฉันได้ทำผิดพลาดในไวยากรณ์หรือความเข้าใจของฉันออกจากซ้ายเข้าร่วมไม่สมบูรณ์หวังว่าบางคนสามารถอธิบายว่าสิ่งนี้อาจเกิดขึ้นได้อย่างไร
ป.ล.
ขอบคุณสำหรับคำตอบที่ดีความเข้าใจของฉันในการเข้าร่วมด้านซ้ายด้านนอกตอนนี้ดีขึ้นมากใคร ๆ ก็สามารถแนะนำวิธีแก้ไขแบบสอบถามนี้เพื่อที่ฉันจะได้รับบันทึกกลับมาเท่าที่มีอยู่ในตารางด้านซ้าย
แบบสอบถามนี้เป็นการสร้างรายงานอย่างหมดจดและการจับคู่ที่ซ้ำกันก็ทำให้เกิดความสับสน
/ Postscript