2017-10-13 15 views
0

私は参加する必要があるいくつかのテーブルがあります。これらは、この図面テーブルの図面テーブルから結果セットに結合する必要があり、各パートには複数の図面番号とリビジョンがあります。私は最大の図面番号が必要ですし、部品の番号の最大リビジョンが必要です。複合最大クエリ

私はこれを行うことができます実現:

select part, max(dwg_num) 
from drawingtable 
group by part 

をやって、その後、これが最大のリビジョンを取得するために別のクエリで埋め込み、その後、他のフィールドを取得するために自分自身にそれを結ぶ

それはすべてちょっと混乱しているようで、誰かがもっと良い方法でアイデアを持っているかどうか疑問に思った。

+3

あなたの質問は不明です。テーブル構造とサンプルデータを含めてください。 –

答えて

1

ROW_NUMBERを使用して、1部あたりの描画可能レコードのランク付けをし、

select * 
from 
(
    select 
    drawingtable.*, 
    row_number() over (partition by part order by dwg_num desc, rev_num desc) as rn 
    from drawingtable 
) ranked 
where rn = 1; 
+0

これはまさに私が探している華麗です!それぞれのケースで正しい図面番号とリビジョンを返しますが、重複はありません – JamesP