我有一个关键字(字符串)列表,我需要在其中识别与关键字黑名单的任何匹配(单独表格中的字符串)
任何关键字/黑名单匹配都将在位字段中标记:Keyword.IsBlacklisted。
在SQL中有一种简单的方法可以实现这一点吗?
匹配可能是部分的(即blacklist ='sex'keyword ='sex toy')
解决方案 - 感谢Daniel Spiewak
SELECT Keyword.Keyword FROM Keyword CROSS JOIN BlackList
WHERE (Keyword.Keyword
LIKE { fn CONCAT({ fn CONCAT('%', BlackList.Keyword) }, '%') })
答案 0 :(得分:2)
SELECT keyword FROM words JOIN blacklist
WHERE keyword LIKE CONCAT(CONCAT('%', word), '%')
假设这些字词位于keyword
表格的words
字段中,blacklist
字段包含word
字段中的字词。这将是有效的,但我认为从理论的角度来看,这是最好的。