• 締切済み

データベースクエリで任意の値を検索する方法について

データベースクエリについて質問させて頂きます。 下記のようなクエリがあるとして、WHERE句で指定したフィールドを対象に検索処理を行いたいのですが、 その際、フォームに配置されたテキストボックスに任意に入力した値を検索値にしたいのです。 つまり、クエリ中の<変化する値>がそれに当たります。 例えば<変化する値>が任意でなく指定値であれば'%あ%'とした時、あを含むレコードが検索されると思うの ですが、前者はどのような記述をすれば良いのか分かりません。 こういった場合、どのように記述すればよいのかご教授願います。 SELECT Code, MainType, Name, Type1, Type2, Type3, Unit, UnitPrice, Used FROM shizai_master WHERE (Code LIKE '%<変化する値>%') OR (MainType LIKE '%<変化する値>%') OR (Name LIKE '%<変化する値>%') OR (Type1 LIKE '%<変化する値>%') OR (Type2 LIKE '%<変化する値>%') OR (Type3 LIKE '%<変化する値>%')

みんなの回答

noname#246547
noname#246547
回答No.2

フォームから入力された動的な値を使用して、検索したいのですよね? フォームとは何を使用しているか、プログラム言語が何かまったく記述がないので、あいまいな答えですが、 「<変化する値>」の部分を、フォームから取得したデータを保持する変数にして、前後のSQLの部分と文字列として連結して、 ひとつのSQLを生成すればよろしいのではないのでしょうか? "SELECT ~ LIKE ('%" . $formData . "%') or " . "(MainType LIKE('%" . $formData . "%') or " ・・・ 以下省略

  • kouta77
  • ベストアンサー率20% (185/896)
回答No.1

&1 &2 &3 ---- と埋め込んで見ては? 実行すると 1に入る値は? 2に入る値は? 3に入る値は? と聞かれるはずです。 あと、1,2,3 とありますが&以降は任意の文字列でOKです。

関連するQ&A