Мне нужно вернуть одно из 2 значений для определенных условий:
Мои разные случаи:
если у одного столбца есть «подстрока» в правом конце, верните этот столбец. (т.е. как "% substring")
В противном случае вернуть другой столбец (из другой таблицы)
Это работает:
SELECT * From Table1 where col1 is not null and col1 like '%substring'
Однако это не работает:
SELECT col5,
CASE Table1.Col1
WHEN NULL Then Table2.Col2
WHEN '%substring' THEN Table1.Col1
ELSE Table2.Col2
FROM Table1
JOIN Tablex ON Tablex.colID= Tabley.colID
JOIN Table1 ON Table1.colID = Tablex.colID
и множество других объединений для взаимосвязанных таблиц с внешними ключами с table1 / table2 ...
Результаты всегда возвращаются из части else.
Я тоже попробовал, это тоже не сработало:
SELECT col5,
CASE Table1.Col1
WHEN NULL Then Table2.Col2
WHEN '' THEN Table2.Col2
ELSE Table1.col1
FROM Table1
JOIN Tablex ON Tablex.colID= Tabley.colID
JOIN Table1 ON Table1.colID = Tablex.colID