Применить таблицу критериев поиска к значению, чтобы определить результат - PullRequest
0 голосов
/ 27 июня 2018

Мы работаем с базой данных на SQL Server 2016. В этой базе данных есть хранимая процедура, которая периодически обрабатывает полученные записи сообщений и создает записи в таблице транзакций. Недавно мы добавили дополнительное поле, содержащее код местоположения, и мне нужно сопоставить его со значением внутреннего идентификатора. Коды местоположения будут выглядеть примерно так:

A.12.10.3
QUAY
HD.STACK
CDC.MT
MT.STACK

Я хочу создать таблицу правил для оценки полученных кодов и сопоставления их с идентификаторами. Многие коды местоположений имеют одинаковый формат, поэтому я хотел бы что-то вроде этого:

CREATE TABLE LOCATION_MAP (
  CRITERIA NVARCHAR(50) NOT NULL,
  LOCATIONID INT NOT NULL,
  CONSTRAINT PK_LOCATION_MAP PRIMARY KEY (CRITERIA, LOCATIONID)
);

Я бы тогда имел значения в таблице:

CRITERIA   LOCATIONID
A.%        1
CDC.%      2
QUAY       3
HD.%       4

(я использую символ% таким же образом, как SQL Server использует его для условий LIKE).

Как лучше всего применить критерии поиска к значению поля?

...