A TBL B TBL
CODE NAME CODE SEQ C1 C2
00001 AAA 00001 1 838 222
00002 BBB 00001 2 234 234
00003 CCC 00001 3 224 153
00002 1 299 545
00002 2 234 666
00003 1 778 468
00003 2 243 456
00003 3 456 789
A TBL 코드 와 B TBL 코드 조인하여서 B TBL SEQ 가장 높은값만
1:1 로 가져오고 싶은데요 . 머리만 뱅글뱅글 돌고 막상 코드가
어찌 접근해야되는지 궁금합니다 .T,.T
결과값
코드 SEQ C1 C2
00001 3 224 153
00002 2 234 666
00003 3 456 789
WITH b AS ( SELECT '00001' code, 1 seq, 838 c1, 222 c2 FROM dual UNION ALL SELECT '00001', 2, 234, 234 FROM dual UNION ALL SELECT '00001', 3, 224, 153 FROM dual UNION ALL SELECT '00002', 1, 299, 545 FROM dual UNION ALL SELECT '00002', 2, 234, 666 FROM dual UNION ALL SELECT '00003', 1, 778, 468 FROM dual UNION ALL SELECT '00003', 2, 243, 456 FROM dual UNION ALL SELECT '00003', 3, 456, 789 FROM dual ) SELECT code, seq, c1, c2 FROM (SELECT code, seq, c1, c2 , ROW_NUMBER() OVER(PARTITION BY code ORDER BY seq DESC) rn FROM b ) WHERE rn = 1 ;