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;

Rextester Demo

Другие вопросы по тегам