[pgsql-jp: 35128] Re: テーブルの結合について教えてください

tomson tomson_lpcjp @ yahoo.co.jp
2005年 3月 25日 (金) 17:21:04 JST


tomsonです。追記です。

> ・結果
> |name|count=1|count=2|count=3|avg|
> |aaa |     50|     60|    120|150|
> |bbb |     70|     80|      0|110|

この結果は、私のところのおんぼろ計算機(Red-Hat legacy)では

 name | count1 | count2 | count3 |         avg
------+--------+--------+--------+---------------------
 aaa  |     50 |        |        | 76.6666666666666667
 aaa  |        |     60 |        | 76.6666666666666667
 aaa  |        |        |    120 | 76.6666666666666667
 bbb  |     70 |        |        | 75.0000000000000000
 bbb  |        |     80 |        | 75.0000000000000000
(5 rows)

となりました。ちなみにavgのところは、

case when tmp.name='aaa' then (select avg(score) from data1 where
data1.no=1) else (select avg(score) from data1 where data1.no=2)
end as avg

になっています。ほとんど、答えになっていないような気もします。

ストアド関数を書けばもっとエレガントに出来るはずです。
考えてください。



pgsql-jp メーリングリストの案内