Неоднозначная ошибка в переопределении поиска для запроса тераданных

Я использую приведенный ниже запрос на самосоединение в качестве переопределения поиска в информатике. Это работает нормально в терадате.

SELECT A.region_cd AS REGION_CODE, 
       A.enp_no    AS ENP_NBR, 
       B.sla_cd    AS SLA_CODE 
FROM   edb_man_work.emp A, 
       edb_man_work.emp B 
WHERE  A.company_no = Trim(Cast(B.enp_no AS INTEGER)) 
       AND A.region_cd = B.region_cd 

Это нормально работает в терадате, но при работе с отображением выдает ошибку

поскольку столбец SLA_CD неоднозначен.

Я не уверен, почему это дает этот тип ошибки.


person navku    schedule 24.12.2013    source источник
comment
Не могли бы вы поделиться запросом, который Informatica генерирует из журнала сеансов. Возможно, проблема заключается в предложении ORDER BY, которое добавляет Informatica.   -  person Samik    schedule 25.12.2013


Ответы (1)


Поскольку вы используете несколько исходных таблиц, убедитесь, что вы завершаете переопределение Lookup SQL с помощью --.

Если вы посмотрите на журнал сеанса, вы увидите, что Informatica автоматически добавляет переопределения Lookup SQL с оператором ORDER BY. Добавление -- закомментирует это добавление.

SELECT A.region_cd AS REGION_CODE, 
       A.enp_no    AS ENP_NBR, 
       B.sla_cd    AS SLA_CODE 
FROM   edb_man_work.emp A, 
       edb_man_work.emp B 
WHERE  A.company_no = Trim(Cast(B.enp_no AS INTEGER)) 
       AND A.region_cd = B.region_cd 
--
person RechenW    schedule 31.01.2014