sitelink1  
sitelink2  

SELECT *

    FROM [XXX].[XXX].[XXX] RP

    LEFT JOIN (

        SELECT *

            FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY RP_SEQ ORDER BY RP_SEQ_IN DESC) ROWNUM

                    FROM [YYY].[YYY].[YYY]

                ) RPH

            WHERE RPH.ROWNUM = 1

    ) RPH ON RP.RP_SEQ = RPH.RP_SEQ

 

RP_SEQ로 그룹핑하고 RP_SEQ_IN 에 따라 ROWNUM을 증가시킨다

생성한 목록에서 ROWNUM 이 1인 것들만 추출하면 각 그룹별로 RP_SEQ_IN이 제일 높은것만 추출된다

RP테이블에 RPH 테이블에서 추출한 ROWNUM=1 인 ROW들을 left join 하면

RP테이블 기준으로 RPH테이블에서 동일 RP_SEQ의 가장 최종 row를 오른편에 붙여넣기한 모습이 된다

 

RP테이블

1,한,a

2,둘,b

3,셋,c

 

RPH테이블

1,AA

1,BB

1,CC

2,AA

2,BB

 

식으로 데이터가 있다면

위와 같은 쿼리 결과

 

1,한,a,AA

2,둘,b,AA

3,셋,c

 

의 결과로 목록을 만들 수 있다