teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

2か所以上が 5 である場合に結果が完全ではないことを追記

2016/11/28 03:21

投稿

tacsheaven
tacsheaven

スコア13707

answer CHANGED
@@ -9,6 +9,7 @@
9
9
  FROM tbl
10
10
  WHERE (item=5 OR value=5 OR price=5 OR num=5)
11
11
  ```
12
- これでできそうではありますが、本当にやりたいことはこうではないような気はします(この方式はテーブルの構造を知っていることが前提ですから)
12
+ これでできそうではありますが、本当にやりたいことはこうではないような気はします(この方式はテーブルの構造を知っていることが前提ですから)。それにこれだと1行に2か所以上 5 があった場合には、完全な答えが得られません。
13
+ (やるなら各カラム毎の SELECT を、UNION ALL するかしないと)
13
14
 
14
15
  動的にやるのであれば、information_schema.columns テーブルを使ってテーブルに存在するカラムの名称一覧を取り出して、数値 5 が入る可能性のあるカラムを上記の方法で列挙した SQL を構築して投げますかね…