Informatica BDM - подстановочный знак в преобразовании поиска - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть две таблицы в базе данных Teradata.Мне нужно сделать преобразование поиска в Informatica BDM там.Условие поиска имеет видбыть присоединенным к любому значению в table2.col3.Другими словами, мне нужно создать трансформацию поиска, как показано ниже:>

select a.*, b.col4, b.col5
from tablea a left join
     tableb b
     on (b.col2 = a.col2 or b.col2 = '*') and
        (b.col3 = a.col3 or b.col3 = '*')
qualify 1 = row_number() over (partition by a.id order by (case when b.col2 = '*' then 2 else 1 end), (case when b.col3 = '*' then 2, else 1 end))

Заранее спасибо!

1 Ответ

0 голосов
/ 21 февраля 2019

Я как-то понял это, поэтому я даю возможное решение на случай, если оно кому-нибудь поможет.

Невозможно определить более сложные условия поиска при преобразовании поиска.Даже если вы выберете «Указать» -> «Параметр» и попытаетесь определить условия поиска.Informatica допускает только простые условия, такие как input_col1 = lookup_col1 и input_col2 = lookup_col2.Более сложные условия, такие как b.col2 = a.col2 или b.col2 = '*', недопустимы.

Но в этом случае можно использовать преобразование столяра, где можно определить более сложные условия, такие какупоминалось ранее в типе соединения -> Параметр.

Это решило мою проблему.Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...