Сбой запроса соединения в преобразовании Informatica SQL - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть запрос SQL, в который я передаю параметры из преобразования выражения:

Например:

  SELECT A.id 
  FROM table1 A, table2 B
  WHERE A.id = B.id

Это работает нормально, и я могу получить вывод.

Теперь, когда я изменяю этот sql на:

select DR.id from(select A.id from table1 A, table2 B where A.id = B.id)DR 
left outer join table3 C on Dr.id = c.col1

Затем выдает ошибку ODL -

ОШИБКА TRANSF_1_1_1_1 pmsql_50065 [ОШИБКА] Ошибка ODL: FnName: Параметр привязки - [Informatica] [Драйвер ODBC PWX] PWX-00264 Ошибка DBAPI Начальная ошибка «Описать» CONVERSE; DSNT408I SQLCODE = -199, ОШИБКА: НЕЗАКОННОЕ ИСПОЛЬЗОВАНИЕ КЛЮЧЕВОГО СЛЕВА. ТОКЕН, ОТ; В ожидании; DSNT418I SQLSTATE = 42601; DSNT415I SQLERRP = DSNHPARS; DSNT416I SQLERRD = 2 0 0 -1 129 506; Ошибка драйвера базы данных ... сбой привязки параметров.

SQL-запрос при выполнении из sql assistant работает нормально. Поэтому не могли бы вы предложить, как написать запрос в SQL-преобразовании Informatica.

Спасибо!

1 Ответ

0 голосов
/ 15 сентября 2018

в имени DR вашего подзапроса нет никакого столбца 'col1', поэтому сделайте его первым, затем используйте его

select DR.col1 
from
(select A.id as col1 from table1 A join table2 B on 
A.id = B.id
) DR 
left outer join table3 C on Dr.col1 = c.col1
...