Присоединение с помощью || - Нет результатов - PullRequest
0 голосов
/ 02 марта 2020

Это то, к чему я сейчас присоединяюсь:

INNER JOIN us_raw.l_dmw_order_report t1 on t2.channel_uid = t1.customer_id

Тем не менее, мне нужно, чтобы это было так:

INNER JOIN us_raw.l_dmw_order_report t1 on t2.channel_uid = ('UNU' || t1.customer_id)

Когда я это делаю, это не кажется вытащить то, что мне нужно, поэтому мне интересно, есть ли другой способ сделать то, что я пытаюсь сделать. По сути, customer_id t1 - это channel_uid t2, за исключением того, что перед ним стоит «UNU» (да, idk, который создал эту таблицу, но, видимо, это единственное отличие, и я проверил выборочно для подтверждения).

Пожалуйста, дайте Я знаю, если вам нужно больше информации, работа с конфиденциальной БД.

Спасибо,

Ответы [ 2 ]

1 голос
/ 02 марта 2020

Если я правильно понимаю, вы хотите построить значение t2.channel_uid путем объединения префикса UNU и значения столбца t1.customer_id. В этом случае должно работать следующее:

INNER JOIN us_raw.l_dmw_order_report t1 on t2.channel_uid = CONCAT('UNU', t1.customer_id)

В зависимости от того, какие типы данных в ваших столбцах, вам может потребоваться приведение типов.

0 голосов
/ 03 марта 2020

Мне удалось найти ответ путем принудительного объединения подстроки:

INNER JOIN l_act_account t2 ON customer_id = SUBSTRING(t2.channel_uid,4,18)

Вместо того, чтобы пытаться добавить символы, я просто вынудил его игнорировать в таблице, в которой были символы lol

...