У мене є дуже базовий ВЛІТЬНИЙ ПРИЄДНАЙТЕСЬ, щоб повернути всі результати з лівої таблиці та додаткову інформацію зі значно більшої таблиці. Ліва таблиця містить 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 є неповним, сподіваємось, хтось може пояснити, як це могло статися?
Постскрипт
Дякую за чудові відповіді, моє розуміння LEFT OUTER JOINS тепер набагато краще, чи може хто-небудь запропонувати спосіб змінити цей запит, щоб я отримав лише стільки записів, що повернулися, скільки існує в лівій таблиці?
Цей запит полягає лише у створенні звіту, а дублюючі збіги просто плутають питання.
/ Постскрипт