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

Akira Nakamura nakamura_ml @ art.edisc.jp
2005年 3月 25日 (金) 18:23:37 JST


中村です。

countの数が固定なら、こんな感じで如何でしょうか?

SELECT
u.name ,
d1.score as "count=1" ,
d2.score as "count=2" ,
d3.score as "count=3" ,
COALESCE( d1.score , 0 ) + COALESCE( d2.score / d2.count , 0 ) + COALESCE( d3.score / d3.count , 0 ) AS avg
FROM 
user u
LEFT OUTER JOIN data d1 on ( u.no = d1.no AND d1.count = 1 ) 
LEFT OUTER JOIN data d2 on ( u.no = d2.no AND d2.count = 2 ) 
LEFT OUTER JOIN data d3 on ( u.no = d3.no AND d3.count = 3 ) 

name	count=1	count=2	count=3	avg
aaa	50	60	120	120
bbb	70	80	 	110

# avgの計算式が判らないので、結果から予測しています。

> -----Original Message-----
> From: 切明 裕次 [mailto:y-kiriaki @ tec.co.jp] 
> Sent: Friday, March 25, 2005 2:00 PM
> To: pgsql-jp @ ml.postgresql.jp
> Subject: [pgsql-jp: 35124] テーブルの結合について教えてください
> 
> はじめまして、切明ともうします。
> 
> 2つのテーブル(userテーブルとdataテーブル)から結果を作成したいのです
> がどのようにすれば良いのかが分かりません。
> 同じテーブルの同じ列を複数回表示させることは出来ないのでしょうか。




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