Как я могу отфильтровать таблицу на основе другого столбца таблицы, учитывая только часть поля? - PullRequest
0 голосов
/ 17 апреля 2020

Допустим, у меня есть следующая таблица (с именем table_1):

Column1    Column2    Column3
A          123        'ABCDE'
B          333        'FGHIJ'
C          444        'KLMNO'

, и у меня есть другая таблица, такая как эта (с именем table_2):

Column4
'BCD'      
'FGH'

Теперь я хочу отфильтровать таблицу_1 с помощью таблицы_2. Однако, как вы можете видеть, Column4 не содержит полное имя Column3, только его часть. Я думал об экспорте Column4, размещении его в Notes (или любом другом текстовом приложении) и выполнении чего-то вроде:

select * from table_1 where Column3 like '%BCD%' or Column3 like '%FGH%'

Но мне было интересно, есть ли другой способ, умнее.

1 Ответ

2 голосов
/ 17 апреля 2020

Вы можете использовать exists и like:

select t1.*
from table_1 t1
where exists (
    select 1 from table_2 t2 where t1.column3 like '%' || t2.column4 || '%'
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...