SQL Server: сравнение списка строк с подстановочными знаками с помощью LIKE
Я пытаюсь найти способ сравнить поле символа с несколькими строковыми подстановочными знаками, хранящимися в таблице поиска. Например, Таблица А - моя главная таблица. В Таблице A есть столбец "Код", который мне нужно оценить. Я хочу найти все строки WHERE Code LIKE "ABC%", "A%", or "A12%"
, Эти три строки хранятся в справочной таблице под названием Таблица B. Я стараюсь избежать жесткого кодирования этих символов подстановки любой ценой. Есть ли способ сделать что-то вроде WHERE A.Code LIKE (SELECT * FROM B)
?
Спасибо!
2 ответа
Решение
Вы делаете это, как показано ниже, используя INNER JOIN:
SELECT TableA.* FROM TableA
INNER JOIN TableB
ON TableA.Code LIKE TableB.Code + '%'
Вы могли бы использовать JOIN
:
SELECT DISTINCT a.*
FROM tabA a
JOIN tabB b
ON a.Code LIKE b.col_name;