2009-03-18 2 views
1

У меня есть список ключевых слов (строки), в которых мне нужно определить любые матчи с черным списком ключевых слов (строки в отдельной таблице)Реализация черного списка ключевых слов в SQL

Любого ключевого слово/черный список матчи будут помечено в бит поле: Keyword.IsBlacklisted.

Есть ли простой способ сделать это в SQL?

Спички может быть частичным (то есть черный список = 'секс' ключевое слово = 'секс игрушка')

РЕШЕНИЕ - Спасибо Daniel Spiewak

SELECT Keyword.Keyword FROM Keyword CROSS JOIN BlackList 
WHERE (Keyword.Keyword 
LIKE { fn CONCAT({ fn CONCAT('%', BlackList.Keyword) }, '%') }) 

ответ

1
SELECT keyword FROM words JOIN blacklist 
       WHERE keyword LIKE CONCAT(CONCAT('%', word), '%') 

Предполагая, что слова в поле keyword таблицы words и blacklist содержит свои слова в поле word. Это будет неэффективно, но я думаю, что это лучшее, что вы можете сделать с теоретической точки зрения.

+0

должен быть лучше, чем потянув за информацию, и programmically манипулирования данными –

+0

ВЫБОР Keyword.KeywordName ОТ Ключевое слово перекрестное соединение Blacklist ГДЕ (Keyword.KeywordName как {п CONCAT ({п CONCAT («%», черный список. BlackList)}, '%')}) –

+0

Вышеупомянутый MSSQL работает! благодаря –

Смежные вопросы