Как лучше написать запрос для объединения таблиц, значения столбцов которых не совпадают? - PullRequest
0 голосов
/ 05 сентября 2018

Мне нужна помощь в создании запроса. Я новичок и запутался, какой вариант будет лучшим. Вариант, который я попробовал, состоял в том, чтобы иметь подзапрос с условиями случая, чтобы преобразовать все 0 в N и 1 в Y и объединить в столбцах. Есть ли другой альтернативный и умный способ написания?

У меня есть две таблицы, одна - справочная таблица со всеми стандартными значениями. Из второй таблицы мне нужно найти значение столбца в первой.

пример table1

col_1  col_2
Y        Yes
N         No

Таблица 2

col_1    col_2
ABC      0
XYZ      1

значение 0 в таблице 2 равно N в таблице 1, аналогично 1 равно Y

Как мне присоединиться к этим таблицам?

Мой окончательный результат должен быть

col1_1   col1_2
ABC      No
XYZ      Yes

1 Ответ

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

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

select table2.col_1, table1.col_2
from table2 inner join table1
on table2.col_2 = case table1.col_1 when 'Y' then 1 when 'N' then 0 else -1 end;
...