(14)
у вас такая ситуация
2(Строки) * 1 (Строка) = 2 Строки
вы переделали запрос, стало так
1 (Строка) * 2(Строки) = 2 Строки
иногда бывают "кривые"/неправильные данные,
по неправильным данным вы получите неправильный результат! - это же аксиома
возможно ошибка как раз в том что Иванов входит одновременно в несколько команд
исправьте это! что бы Иванов был только в одной команде и вы получите правильный результат
без команды - Различные
(3)В этом как бы и смысл.
RTFM, все такое.
Левое соединение - для каждой строки левой таблицы выполняется соединение с каждой строкой правой таблицы по заданному условию.
То что это не соответствует вашим ожиданиям, это уже немного другое.
Если в правой таблице будет Петров, строки с ним не будет в результирующей таблице.
(6)
Еще раз.
для каждой строки левой таблицы выполняется соединение с каждой строкой правой таблицы.
Это означает буквально следующее:
Первая строка левой соединяется с первой строкой правой, если условие подошло, результат соединения будет результате запроса.
Первая строка левой соединяется со второй строкой правой, если условие подошло, результат соединения будет результате запроса.
...
Первая строка левой соединяется со N строкой правой, если условие подошло, результат соединения будет результате запроса.
Вторая строка левой соединяется с первой строкой правой, если условие подошло, результат соединения будет результате запроса.
Вторая строка левой соединяется со второй строкой правой, если условие подошло, результат соединения будет результате запроса.
...
Вторая строка левой соединяется со N строкой правой, если условие подошло, результат соединения будет результате запроса.
...
N строка левой соединяется со N строкой правой, если условие подошло, результат соединения будет результате запроса.
Левое внешнее соединение означает, что в результат запроса нужно включить комбинации записей из обеих исходных таблиц, которые соответствуют указанному условию. Но, в отличие от внутреннего соединения, в результат запроса нужно включить также еще и записи из первого (указанного слева от слова СОЕДИНЕНИЕ) источника, для которых не найдено соответствующих условию записей из второго источника.
ВЫБРАТЬ
КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Расш1_Команда КАК Расш1_Команда
ПО (КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = Расш1_Команда.Сотрудник)
ГДЕ
КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = &Сотрудник
ВЫБРАТЬ различные
КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Расш1_Команда КАК Расш1_Команда
ПО (КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = Расш1_Команда.Сотрудник)
ГДЕ
КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = &Сотрудник
(14)
у вас такая ситуация
2(Строки) * 1 (Строка) = 2 Строки
вы переделали запрос, стало так
1 (Строка) * 2(Строки) = 2 Строки
иногда бывают "кривые"/неправильные данные,
по неправильным данным вы получите неправильный результат! - это же аксиома
возможно ошибка как раз в том что Иванов входит одновременно в несколько команд
исправьте это! что бы Иванов был только в одной команде и вы получите правильный результат
без команды - Различные