Моя проблема заключается в объединении двух таблиц в процессе Talend (Open Studio 6.5.1), но я не могу реализовать условие соединения.
Для соединения я использую компонент tMap. Я знаю, что могу выполнить поиск по всем данным (декартово произведение), а затем использовать фильтр выражений, но это НЕ то, что мне нужно из-за размеров таблиц. Я использую соединение на основе одного условия равенства (=) и двух условий больше/меньше равенства (>=, <=) в таблице поиска (см. код ниже). Но если я запущу свое задание, результат даст мне данные с нулевыми строками (также см. снимок экрана). Мне нужно знать, как реализовать условие соединения в Talend, как показано в коде ниже.
Я надеюсь, что следующие снимки экрана немного ясно покажут, чего я ожидаю от своей работы Talend.
Мои данные выглядят следующим образом:
Но вот результат, который я получаю:
Это соединение, которое я пытаюсь реализовать:
from DWH_PROD.hp_test_tMapConditions t1
join DWH_PROD.hp_test_tMapConditions_lookup t2
on t1.ID = t2.ID
and t1.datum >= t2.von
and t1.datum <= t2.bis
Мой процесс развития талантов:
И мой tMap с условным фильтром:
Попробуйте изменить модель соединения на «Внутреннее соединение», чтобы исключить нулевые значения.