Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。2,183件1RDBで、あるテーブルを複数条件(AND/OR含む)でフィルタしたい、という際の設計のベスト・プラクティスを知りたいです。問題なく発行できるような設計を行いたいです。手がかりすらわからず、もしよろしければどなたかご教授いただけないでしょうか。「Nが増えても減っても、問題なく」というのは、現状何を問題と感じていて、どうなれば理想状態になると考えているのでしょうか?もしかすると、SQL単体ではなく、それを呼び出すプログラムやフレームワークの処理も含めて回答を考える必要があるかもしれません。いった話も質問に追記してもらえると、さらに役立つ回答が得られると思います。票22つのテーブルに分割するのが素直な設計ではないでしょうか。(4,3));こうしておけば、DB設計は変えずにNをどんどん増やせると思います。5.6では動作しませんでした。conditionが予約語なのと、INTERSECT機能が存在しないことが原因のようです。タグによるとMySQLを使われているようなので、SELECTの際はご注意ください。|1「設計の」というのが辛いですね。条件式がANDだったりORだったり()ついてたり複雑過ぎます。(別テーブルに条件出して...とか考えましたが面倒くさそうです)残念ながら。私は、こんな情けない方法しか思いつきませんでした。設計のベストではなく。その設計を前提として、どうやって検索結果を得るかというアプローチになってしまって申し訳ないのですが。FALSEが実行されます。FALSEの実行結果は、必ずEmptySetです。都度プロシージャを作って捨ててを繰り返すので。いう質問として回答します。私の回答はOracleの書き方ですが参考にどうぞ最初に可変長のカラム数を持つテーブルのカラム名かcount数を取得する。'condition%';これから戻り値を元にプログラムでSQLを組み立てたり分岐すると宜しいかと動的SQLに組み込んでも良いでしょう。http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1297167927http://docs.oracle.com/cd/E16338_01/appdev.112/b56260/dynamic.htm#CACDDACH...例のようにconditionNの中身が1桁の整数固定ならテーブルの可変カラムは止めて1つのvarchar型カラムにconditionNの中身を順番に入れてしまって文字の位置指定のsubstr等で取り出し/判定をした方が良い気がしますね。3;を↓のようにパターンマッチで書けますしregexp_likeで正規表現も使えます。|0追記とお詫びRailsの設計方法だと勘違いしていました。この回答は無視してください。「手がかりすらわからず」ということなので、Railsのscopeももしかするとご存じないのかな?と思いました。いうわけで一度「scope」という機能を調べてみてください。ネットを検索するとたくさんのサイトがヒットすると思います。以下のサイトで紹介されているコード例なんかは質問の件に近いのではないでしょうか?http://ruby-rails.hatenadiary.com/entry/20140814/1407994568スコープ同士をマージすることにより、where句のAND条件を実現することができます。'finished'あと、検索用フォームを作成する場合はRansackというgemを使うと便利です。こちらもネットにたくさん情報が載っています。参考までにこちらのリンクを紹介しておきます。http://qiita.com/LuckOfWise/items/e020e896e71d47d0c6a4「手がかり」はつかめましたでしょうか?以上、ご参考までに。個の銅バッジ1これはRailsの質問なんでしょうか。DB設計の質問だと思うのですが。4:23あ、本当ですね。