[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 メーリングリストの案内