[pgsql-jp: 37135] Re: 結合時に複数の中から特定のレコードの最大値を持ってくるには

Kenji Takahashi ktakahashi @ midea.co.jp
2006年 5月 31日 (水) 22:03:45 JST


こんにちは。高橋と申します。

こんな感じですか?

select A.NO, A.NAME, B.KINGAKU
from A
inner join B using(NAME)
inner join ( select name, max( RAIREKI|) as RAIREKI from B ) T1 on T1.name = 
B.name and T1.RAIREKI = B.RAIREKI

----- Original Message ----- 
From: "切明 裕次" <y-kiriaki @ tec.co.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Wednesday, May 31, 2006 9:10 PM
Subject: [pgsql-jp: 37134]結合時に複数の中から特定のレコードの最大値を持ってくるには


> こんにちは。切明と申します。
> 現在、複数のテーブルをNAMEで結合するのですが、テーブルの数が複数のものがあり 
> 
> ます。
> これを結合する際にRAIREKIの数が一番大きいものを取ってくるようにしたいのです 
> 
> がどのようにすればいいのでしょうか。
> RAIREKIの数は0から続きますがいくつまで続いているかは各NAMEによって異なりま
> す。
>
>
> ●テーブルA
> |NO|NAME|
> |   1|aaa    |
> |   2|bbb    |
> |   3|ccc    |
>
> ●テーブルB
> |NAME| RAIREKI|KINGAKU|
> |aaa    | 0            | 10000    |
> |aaa    | 1            | 12000    |
> |bbb    | 0            |   8000    |
> |ccc    | 0            | 12500    |
>
> ●結合
> |NO|NAME|KINGAKU|
> |  1|aaa    |12000     |
> |  2|bbb    | 8000      |
> |  3|ccc    |12500     |
>
> どなたか出来る方法をお知りでしたらご教授願えないでしょうか。
> お手数ですが宜しくお願いします。
>
> 





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