Как получить Talend, чтобы сохранить имена таблиц в tOracleInput
Есть ли способ сказать Talend не удалять префикс имен столбцов, особенно если они указаны в запросе для извлечения данных из источника данных и сохранения имен, упомянутых в самом запросе?
Спасибо!
1 ответ
Предполагая, что вы используете функцию "угадать схему" с запросом, который объединяет некоторые таблицы. Далее, предполагая, что в ваших таблицах есть столбцы с одинаковыми именами, вы столкнетесь с проблемами с угаданной схемой. Невозможно использовать talend или даже знать имена таблиц, из которых получены столбцы, потому что они являются частью "проекции" и могут быть результатом преобразования и / или агрегации. Таким образом, вам нужно помочь talend угадать правильную схему, а это означает, что вы не можете использовать *
чтобы выбрать все столбцы и б) вы должны назначить каждому столбцу псевдоним, который намекает на таблицу, из которой происходит столбец.
Так что вместо select * from employee join department on employee.department_id = department.id
у вас было бы что-то вроде select e.id as emp_id, e.name as emp_name, d.id as department_id, d.name as department_name from employee e join department d on e.department_id = d.id
, id
от сотрудника будет emp_id
в угаданной схеме.