- ベストアンサー
曖昧検索LikeのOR条件
reset_catの回答
ここで言ってる「プロンプト」とは、コマンドプロンプトではなく、Accessのクエリ実行時にパラメータ入力を要求してくる「ダイアログ」のことを指しているのでしょうか?(これをプロンプトを言われても判らない人が多いと思いますが・・・) もしそうなら、以下のようなSQLにすれば逝けると思います。 select * from TABLE where ([項目名1] is not null and 項目名 like ("*" & [項目名1] & "*")) or ([項目名2] is not null and 項目名 like ("*" & [項目名2] & "*")) or ([項目名3] is not null and 項目名 like ("*" & [項目名3] & "*")) []のパラメータ名が同じものは、何度出てきても1種類につき1回しか出てきません。
関連するQ&A
- ワイルドカードの検索
項目に'%'が入力されているデータを抽出したいのですが、 以下のようなSQLだとデータがすべて抽出されていまいます。 SELECT * FROM t_table WHERE code_name LIKE '%%%' '%'を検索するにはどうのようにすればいいのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- 置換変数とLIKE条件
SQL文で「SELECT * FROM テーブル名 WHERE 列名 LIKE = '&%'」で実行するとレコードは選択されませんとなり、変数をの入力もできません。 置換変数とLIKE条件は一緒に使えないのでしょうか?
- ベストアンサー
- Oracle
- SQLでlike検索条件を副問い合わせ結果にしたい
SQLでlike検索する際、検索キーワードを副問い合わせの結果文字列とする方法があればご教示下さい。 イメージでは、、、 select A1列 from A表 where A1列 like '(select B列 from B表 where 条件)'; みたいなのが可能であればいいのですが。。。( 宜しくお願いします。
- 締切済み
- Oracle
- MySQL WHERE句のLIKE検索
初心者ですみません。 MySQL WHERE句のLIKE検索で、引っかかった文字列を 除いた項目を表示させるにはどうしたらいいでしょうか。 例えば、 SELECT * from [テーブル名] where [フィールド名] like '%あ%'; として、「あ」が入っているレコードを検索し、 該当しないレコードを表示させる。 どうか教えてください。よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- LIKE検索の場合うまくいきません
WEBアプリとSQLServerでSELECTをするときに不正をされないように SELECT * FROM DB WHERE DB.A = 検索文字 を SELECT * FROM DB WHERE DB.A= @A のようにして、@Aを後で指定しますが、 SELECT * FROM DB WHERE LIKE '%検索文字' のようにLIKE検索の場合うまくいきません。 どのように記述したらいいのでしょうか? SELECT * FROM DB WHERE DB.A LIKE @A --> 駄目 SELECT * FROM DB WHERE DB.A LIKE '%@A' --> 駄目
- ベストアンサー
- SQL Server
- RLIKE vs LIKE
■1 SELECT `id` FROM `user` WHERE `stat` RLIKE ',1,' ■2 SELECT `id` FROM `user` WHERE `stat` LIKE '%,1,%' 1と2では、どちらが速いのでしょうか? また、 ■3 SELECT `id` FROM `user` WHERE `text` RLIKE ',(1|6|3),' ■4 SELECT `id` FROM `user` WHERE `stat` LIKE '%,1,%' OR `stat` LIKE '%,6,%' OR `stat` LIKE '%,3,%' 3と4の様に検索する値が増えて行った場合では、どちらが速いのでしょうか? ベンチとれと言われればそれまでですが、お時間頂ければ、ご教授の程 、宜しくお願い致します。
- ベストアンサー
- MySQL
- MySQL(4.1)でのサブクエリ結果をLIKE演算子を用いて検索したいです。
漢字名を入力してもらい、personalテーブルを参照して漢字(personal.j_search)からローマ字名(personal.e_search)のレコードから副問い合わせをして、gijirokuテーブルから漢字名を含む行とローマ字を含む行をOR検索したいです。 下記のとおり考えましたが。。。 副問い合わせの結果がLIKE演算子できません。 (和名でのLIKE検索とローマ字名の検索は、できますが、ローマ字名をLIKE検索する方法がわかりません。) 教えてください。 SELECT * FROM gijiroku WHERE gijiroku.title LIKE '%山田太郎%' OR gyouseki.title = ANY (SELECT personal.e_search FROM personal WHERE personal.j_search LIKE '%山田太郎%')
- 締切済み
- MySQL
- like文の書き方を教えてください。
テキストボックスを作成して入力した値がデータベースに 格納されている場合表示されるSQL文を書いていますが syntaxエラーになってしまい原因がわかりません。 String name = request.getParameter("name"); //入力された名前 String sql = new String(); <%-- SQL文 --%> sql += " select * from data "; sql += " where name "; sql += " like" + "('%" + s_name + "%')"; sql += " ) "; <input type="text" name="name" value=""> //textBox エラー表示 8番目: SQL = select * from data where name like('%i%') ) 9番目: ResultSetに格納失敗 : java.sql.SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 となってしまいます。 コマンドプロンプト上で select * from data where name like('%itou%'); この場合はちゃんと表示されます。 お分かりになる方よろしくお願い致します。
- ベストアンサー
- MySQL
- 複数カラムに対するLIKE文の最適化
column1~column3のデータに文字検索をしたいのですが、 下記のような不恰好なSQLしか思いつきません、、。 select * from tb where ( column1 like '%word1%' or column2 like '%word1%' or column3 like '%word1%' ) and ( column1 like '%word2%' or column2 like '%word2%' or column3 like '%word2%' ) and ( column1 like '%word3%' or column2 like '%word3%' or column3 like '%word3%' ) 試しに、 select * from tb where ( ( column1 or column2 or column3) like '%word1%' ) and ( ( column1 or column2 or column3) like '%word2%' ) and ( ( column1 or column2 or column3) like '%word3%' ) と考えたのですが、これですと検索結果0件になってしまいます。 もっとスマートなSQL文がありましたら、ご教授頂きたいです。
- ベストアンサー
- MySQL
お礼
すみません。表記がおかしかったですね。 ダイアログの事です。 ご回答、どうもありがとうございます。