[pgsql-jp: 35129] Re: テーブルの結合について教えてください
Atsushi Odagiri
a.odagiri @ nskint.co.jp
2005年 3月 25日 (金) 17:37:11 JST
はじめまして、小田切ともうします。
> 2つのテーブル(userテーブルとdataテーブル)から結果を作成したいのです
> がどのようにすれば良いのかが分かりません。
> 同じテーブルの同じ列を複数回表示させることは出来ないのでしょうか。
きちんと試していませんが、こんなんでどうでしょう。
SELECT user.name,
one "count=1",
two "count=2",
three "count=3",
avg one + two + three/3
FROM user
JOIN
(SELECT SUM(CASE count WHEN 1 THEN score ELSE 0 END) one,
SUM(CASE count WHEN 2 THEN score ELSE 0 END) two,
SUM(CASE count WHEN 3 THEN score ELSE 0 END) three,
no
FROM data
GROUP BY no) score
ON
user.no = score.no
>
> ・userテーブル
> |no|name|
> | 1|aaa |
> | 2|bbb |
>
> ・dataテーブル
> |no|count|score|
> | 1| 1| 50|
> | 1| 2| 60|
> | 1| 3| 120|
> | 2| 1| 70|
> | 2| 2| 80|
>
> ・結果
> |name|count=1|count=2|count=3|avg|
> |aaa | 50| 60| 120|150|
> |bbb | 70| 80| 0|110|
>
>
/*
日本システム開発株式会社 第二事業部 IS部
小田切 篤 <Atsushi Odagiri>
email:a.odagiri @ nskint.co.jp
*/
pgsql-jp メーリングリストの案内