[pgsql-jp: 35708] Re: たくさんの表を連結するときの速い SQL 文を教えてください
keios
bok @ bbsbrain.ne.jp
2005年 7月 8日 (金) 11:05:50 JST
このメールは
"鈴木孝征(Suzuki Takamasa)" <takamasa @ thaliana.myhome.cx>
さんのメールに対する返信です。
ども井上です。
> select t1.p, t1.v, t2.v from t1, t2 where t1.p=t2.p and t2.v / t1.v > 2
> これを下のように一つの表(t)にまとめた場合、演算結果に基づくデータの抽出
> にはどういったSQL文を組んだらいいのでしょうか。
いろいろ方法があると思うのですが、こんなのでどうでしょうか?
とりあえず何をしたいのかがよくわからないなかで、
仮に動くのを書いたのであなたがしたいことを実現する
最も適した方法とはかぎりませんのでご注意を…
#注 テーブル名とカラム名が一緒で見にくそうだったので
# テーブル名を仮にtestにしています。
SELECT
t1.p,
t1.v,
t2.v
FROM
(select p,v from test where t='t1') as t1,
(select p,v from test where t='t2') as t2
WHERE
t1.p=t2.p AND
t2.v / t1.v > 2
あと tとpの値についてですが、そのためのカラムに入れているのですから
t1,t2とかp1,p2の記述法でなく数字のみを入れるのはどうでしょうか?
t | p | v
------------
1 | 1 | 1
1 | 2 | 2
1 | 3 | 3
2 | 1 | 6
2 | 2 | 5
2 | 3 | 4
By Yoshihisa Inoue
pgsql-jp メーリングリストの案内