У меня есть очень простой LEFT OUTER JOIN, который возвращает все результаты из левой таблицы и дополнительную информацию из гораздо более крупной таблицы. Левая таблица содержит 4935 записей, но когда я LEFT OUTER JOIN его в дополнительную таблицу, количество записей значительно больше.
Насколько мне известно, абсолютное Евангелие - это то, что LEFT OUTER JOIN вернет все записи из левой таблицы с сопоставленными записями из правой таблицы и нулевыми значениями для любых строк, которые невозможно сопоставить, поэтому я понимаю что было бы невозможно вернуть больше строк, чем есть в левой таблице, но все равно это происходит!
SQL Query следует:
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 является неполным, какова бы ни была причина, по которой я сошел с ума здесь, надеюсь, кто-то может объяснить, как это может произойти?
Postscript
Спасибо за ответы grea, мое понимание LEFT OUTER JOINS теперь намного лучше, может ли кто-нибудь предложить способ, чтобы этот запрос мог быть изменен, так что я получаю столько записей, сколько существует в левой таблице?
Этот запрос предназначен исключительно для генерации отчета, а дубликаты совпадений просто путают вопросы.
/Postscript