「キーワード」という名前の長いテキスト フィールドを持つ求人のテーブルがあります。
一部のキーワードを一致させ、他のキーワードを除外できる SELECT ステートメントを作成しようとしています。
たとえば、「キーワードに「ポートレート」という単語が含まれるすべての仕事を教えてください。ただし、「アウトドア」という単語が含まれる仕事は除外します」という SQL が必要です。
ありがとう![質問を修正する必要がある場合、または追加情報が必要な場合は、お知らせください。]
どうですか:
. . . WHERE keywords LIKE '%portraits%' AND keywords NOT LIKE '%outdoors%' . . .
より良いアプローチは、ジョブのキーワードの別のテーブルを定義することです。ジョブとキーワードの組み合わせごとに 1 つの行があります。適切なインデックスを作成すると、一致するキーワードの有無にかかわらず、求人の検索を大幅に高速化できます。
SELECT *
FROM [table_name]
WHERE keywords like '%portraits%'
AND keywords not like '%outdoors%';