Я пытаюсь соединить две таблицы при условии, но я не смог заставить его работать. Я искал и читал, но не смог найти ответ по своему делу.
Это базовая c идея того, чего я пытаюсь достичь (то, что я написал в нижнем регистре, это то, что я хочу в моих словах, если вам интересно):
SELECT TABLE1.STR_FULLNAME, TABLE1.STR_MAILBIZ, TABLE2.STR_IP
FROM TABLE1
INNER JOIN TABLE2
if TABLE2.STR_MACHINEUSER contains 'TEXT\' then join like this:
ON TABLE1.STR_LOGIN = SELECT SUBSTR(STR_MACHINEUSER, 6) AS STR_MACHINEUSER FROM TABLE2 WHERE
STR_MACHINEUSER LIKE 'TEXT\%'
else join like this:
ON TABLE1.STR_LOGIN = TABLE2.STR_MACHINEUSER
ORDER BY TABLE2.DT_INSERT DESC;
Содержимое Table1.STR_LOGIN и Table2.STR_MACHINEUSER в некоторых случаях точно такой же, а в некоторых случаях префикс необходимо удалить в Table2.STR_MACHINEUSER ('TEXT \'). Я видел, что условия должны обрабатываться с помощью выражения CASE. Я пробовал разные способы, но я не мог заставить это работать для того, что мне нужно. Я думаю, что мне может понадобиться совершенно другой подход, но я не вижу, что ...
Есть ли у кого-то предложение? Заранее спасибо!