[pgsql-jp: 37141] Re: 結合時に複数の中から特定のレコードの最大値を持ってくるには(Bが無い場合も含める)

Ryo HAYAKAWA ryo @ fastriver.net
2006年 6月 2日 (金) 15:53:54 JST


早川と申します。

From: 切明 裕次 <y-kiriaki @ tec.co.jp>
Subject: [pgsql-jp: 37140] 結合時に複数の中から特定のレコードの最大値を持ってくるには(Bが無い場合も含める)
Date: Fri, 2 Jun 2006 15:10:26 +0900 
Message-ID: <88AA6CBDA4943E4D96A9C35BD43E31DFFA11BF @ TECMAIL>

> 教えていただいたとおり実行すると、”ddd”が結果として出てきません。
> そこで、”inner join”を”left join”に変更してみましたが、今度は”aaa”の結
> 果が複数出てしまいます。

こんな解法もありでしょうか

select A.NAME, B.RAIREKI, B.KINGAKU
from B inner join 
         (select NAME, max(RAIREKI) as RAIREKI from B group by NAME) B1
          on B.NAME = B1.NAME and B.RAIREKI = B1.RAIREKI
       right join A on A.NAME = B.NAME

よく試していないので間違ってたらすみません。

-- はやかわ



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