1 つ以上の条件に一致する行を選択したいと考えています。
例 テーブルとデータ
#ID #NAME #KEYWORDS(Varchar)
1 BBC news,finance
2 CNN music,finance,sports
3 CNBC music,sports,finance
ユーザーの検索条件はsports,finance
(コンマで区切られた複数のキーワードである場合があります)になり、クエリを実行する前にキーワード文字列のリストに準備されます。
以下のようにsql (1)を使用すると、CNN と CNBC のみが選択されます。
SELECT * from channel where Keywords LIKE '%sports%' OR '%finance%';
しかし、以下のようにsql(2 ) を使用すると、BBC、CNN、CNBC が表示されます。
SELECT * from channel where Keywords LIKE '%finance%' OR '%sports%'
私の要件は、キーワードに一致するすべての行を選択することです (上記の例では、スポーツ、金融は BBC、CNN、および CNBC を取得する必要があります。3 つすべてが金融を持っているためです)。
ユーザー入力は String(sports,finance,etc) になるため、さまざまな入力に基づいてクエリを作成しています。