У меня есть список слов, которые я хочу исключить из некоторых результатов запроса.Список слов хранится в таблице базы данных в виде списка через запятую.например.плохо, ужасно, хуже( Примечание : не важно, что они разделены запятыми. Они также могут быть просто строками в таблице).
Я хочу использовать этот список слов всохраненный процесс, чтобы гарантировать, что ключевые слова из этого списка не появятся где-либо в моих результатах поиска.Например, учитывая следующее, как бы я изменил свой запрос, чтобы обеспечить фильтрацию всех результатов поиска по словам, которые появились в моем списке исключений ключевых слов?
create table #keywords (column1 varchar(500))
insert #keywords values('bad, awful, worst')
create table #testData (column1 varchar(100))
insert #testData values('This is bad for you')
insert #testData values('This is good for you')
insert #testData values('This is awful for you')
insert #testData values('This is great for me')
SELECT * FROM #testData WHERE column1 like '%you%'
drop table #keywords
drop table #testData
Как вы, наверное, догадались, я хочу убедиться, что каждое из ключевых слов в списке исключений используется в подстановочных знаках (%), чтобы слово не появлялось в результатах поиска.Я также знаю об опасностях внедрения SQL-кода и хотел бы найти способ сделать это, сводя к минимуму любой риск.
Любая помощь приветствуется.Это будет выполняться на SQL Server 2005 и более поздних версиях.
РЕДАКТИРОВАТЬ - Моя главная проблема не в списке через запятую, а в способе использования значений, которые он содержит вместе с подстановочными знаками, для исключения определенных элементов из результатов моего запроса.