По умолчанию левое соединение для двух таблиц T1 и T2, возвращают все строки таблицы T1, объединенные результатами сопоставления в таблице T2, для строк T1 без совпадений в T2, левое соединение дополняет их нулями
Допустим, T1 содержит следующую строку
| id | class | student_id |
|-------------------------|
| 1 | math | null |
| 2 | svt | 1 |
и T2 содержит следующую строку:
| id | name |
|-----------|
| 1 | rach |
результат T1, оставленный присоединенным к T2
select *
from T1 left join T2 on T1.student_id = T2.id
было бы что-то вроде (я абстрагировал много деталей, чтобы показать проблему)
| id | class | student_id | id | name |
|---------------------------------------|
| 1 | math | null | null| null |
| 2 | svt | 1 | 1 | rach |
В результате выполнения левого соединения с использованием tMap я ожидаю идентичного поведения, что еще более важно, чтобы несопоставленные строки были заполнены нулями вместо нулей
на приведенных выше рисунках показана значительно упрощенная версия эксперимента, показывающая проблему в Talend
вкратце, для несопоставленных строк в таблице res_partner выходные данные sales_rep_key имеют значение ноль вместо нуля
Может кто-нибудь объяснить мне это.