Реализация черного списка ключевых слов в SQL

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

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

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

Совпадения могут быть частичными (т. Е. Черный список = ключевое слово "секс" = "игрушка секса")

РЕШЕНИЕ - Спасибо Даниэль Спивак

 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 поле. Это будет совсем не эффективно, но я думаю, что это лучшее, что вы можете сделать с теоретической точки зрения.

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