1
私はチーズIDテーブルの最大値(seq_no)がMOLDである チーズのCHEESEとFRESHNESSコードを取得するために、フレッシュネスと私のチーズテーブルに加わりたいと思います。内部結合でrank()を使用するにはどうすればよいですか?
ランク()を使用している場合、どこにフレッシュネスに参加しますか?
CHEESE FRESHNESS
CHEESE_ID SEQ_NO FRESH_CODE FRESH_CODE FRESH_DESC
================================= ========================
1 1 MOLD MOLD MOLDY CHEESE
1 23 FRSH FRSH EDIBLE
1 34 FRSH
2 2 FRSH
2 18 MOLD
3 3 MOLD
3 5 MOLD
3 7 MOLD
DESIRED RESULT
==========================
CHEESE_ID SEQ_NO FRESH_CODE FRESH_DESC SEQ_RANK
2 18 MOLD MOLDY CHEESE 1
3 7 MOLD MOLDY CHEESE 1
ここに私の希望するシーケンス番号を得るために使用しているコードがあります。
select
cheese_id,seq_no,fresh_code,seq_rank
from (select
cheese_id,seq_no, fresh_code,
rank() over (partition by cheese_id
order by seq_no desc) seq_rank
from cheese
where seq_rank = 1
and fresh_code = 'MOLD'