Итак, я объявил таблицу:
DECLARE @VTable TABLE (ColtoAdj VARCHAR(50),HeadlineDescription
VARCHAR(50),HeadlineDescriptionGroup VARCHAR(50));
INSERT INTO @VTable VALUES ('Neopla','Neoplasia','Cancer');
INSERT INTO @VTable VALUES ('Metasta','Metastases','Cancer');
INSERT INTO @VTable VALUES ('CES','CES','Cauda Equina');
INSERT INTO @VTable VALUES ('CES-I','CES-I','Cauda Equina');
, которая затем используется в Outter и применяется к основной таблице, чтобы найти заголовок описания и группу заголовка описания.
OUTER APPLY (
SELECT TOP 1
vt.ColtoAdj,
Vt.HeadlineDescription,
Vt.HeadlineDescriptionGroup
FROM @VTable AS vt
WHERE cmd.Headline LIKE ('%' + vt.ColtoAdj + '%')
Который для большинства моих данных отлично работает, так как многие слова поиска vt.ColtoAdj уникальны, например, имеют гифон и т. Д., Поэтому их можно использовать только для извлечения.Проблема в значении CES.Это может быть где угодно в заголовке из 255 символов.Так что в настоящее время он выбирает такие вещи, как "BraCES" и добавляет их неправильно.Я попытался вставить 2 значения для него ' CES' или 'CES ', чтобы просто получить аббревиатуру, но это все еще захватывает слова, заканчивающиеся на нем или начинающиеся.Есть ли в любом случае для этого значения в таблице, я могу получить его, чтобы найти только 3 буквы самостоятельно, но также искать полные слова для других?
Это может быть случай «нет», просто потому, что это похожая функция, и с помощью поиска слов вы не всегда можете гарантировать 100% точность, но я подумал, что проверю.