- - PR -
複数カラムによる範囲検索
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-08-02 11:07
こんな感じではダメでしょうか?
SQLseverで試したのですが他のデータベースでもいける気がします。 select * From table as t1 Where (select count(*) from table as t2 Where t1.feild1 + t1.feild2 > t2.feild1 + t2.feild2) >= 2 And (select count(*) from table as t2 Where t1.feild1 + t1.feild2 > t2.feild1 + t2.feild2) <= 5 | ||||
|
投稿日時: 2004-08-02 11:08
皆さん。貴重なご意見ありがとうございます。
Oracleであれば、確かにこのような方法がありましたね。最初に環境を明記すべきでしたが、実は、DBの種類に依存しない汎用的な仕組みを考えていたので、やはりSQLをガリガリと記述する方法かもしれません。 本来であれば、代替キーとしてレコードIDの様な単一カラムで一意となる項目を用意すべきなのですが、どうしても設計の古い既存のシステムを読み出す必要があるので、つらいところなんです。 unibon さんのおっしゃる通りSQLを生成するサブルーチンを作るのがアタリかもしれないですね。 | ||||
