• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のカテゴリを選択した上でLIKE検索)

複数のカテゴリを選択した上でLIKE検索

このQ&Aのポイント
  • SQLITE3を使用した複数キーワードの検索プログラムの作成方法を教えてください。
  • 自分の日記をカテゴリーごとに分けて保存していますが、趣味と仕事のカテゴリー内で複数キーワードの検索を行いたいです。
  • 上記のSQL文を使用しましたが、正しく動作しませんでした。正しいSQL文の書き方を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.2

たとえばこんな感じです。 select * from table where kuwake in ('hobby', 'work') and (main LIKE '%キーワード1%' or main LIKE '%キーワード2%');

fukurou125
質問者

お礼

ありがとうございます。おかげさまで無事思い通りの結果が出せました。 助かりました。本当にありがとうございました^^

その他の回答 (1)

回答No.1

私はSQLITE3を知りませんので完全について動作するSQLを 提示することはできません。 しかし、SQLの基本はどのDBでも変わらないと思いますので いくつか指摘させていただきます。 ご確認の上、ご自分で正しいSQLに到達されますよう。。。 まず selectの対象が間違っています。 欲しいのは本文でしたら、対象は格納先であるmainでしょうか 次にwhere句ですが、ここには通常検索条件を指定します。 ご自分で「趣味(hobby) と 仕事(work) のカテゴリー の中で」検索したい と仰っているので、これもwhere句で指定してやるべきでしょう。 但し、単純にandで繋げては動かないSQLになります。 kuwakeには1つしか選択できない=1つしか格納されていない のですから、「趣味(hobby)か仕事(work)」を条件とする必要があります。 どちらか(あるいはいずれか)が一致する条件を指定するには、 条件をorで繋げます。 A または B → A or b ※A,Bはそれぞれ1つの条件(date=now のような)です。 あとはorの影響する部分を括弧()でくくります。 ※加算乗算の入り乱れた式で加算部分を括弧で囲むようなイメージです。 以上お役に立てば幸いです。

fukurou125
質問者

お礼

すぐに解答をしていただき、誠にありがとうございます。 SQL文を分かりやすく説明していただき本当に感謝です。 ありがとうございました。

関連するQ&A