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

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


高橋です。
すみません。group by name が抜けてました。

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

----- Original Message ----- 
From: "Kenji Takahashi" <ktakahashi @ midea.co.jp>
To: "PostgreSQL Japanese Mailing List" <pgsql-jp @ ml.postgresql.jp>
Sent: Wednesday, May 31, 2006 10:03 PM
Subject: [pgsql-jp: 37135] Re:結合時に複数の中から特定のレコードの最大値を持ってくるには


> こんにちは。高橋と申します。
>
> こんな感じですか?
>
> 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 メーリングリストの案内