1

キーワードのブラックリスト (別の表の文字列) との一致を特定する必要があるキーワード (文字列) のリストがあります。

キーワード/ブラックリストの一致は、ビット フィールド Keyword.IsBlacklisted でフラグが付けられます。

SQLでこれを達成する簡単な方法はありますか?

一致は部分的である可能性があります (つまり、ブラックリスト = 'sex' キーワード = 'sex toy')

解決策 - Daniel Spiewak に感謝します

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

1 に答える 1

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

単語がテーブルのkeywordフィールドにあり、フィールドにその単語が含まれていると仮定します。これは決して効率的ではありませんが、理論的な観点からできる最善の方法だと思います。wordsblacklistword

于 2009-03-18T23:48:04.140 に答える