(MSSQL) MAX 값과 join 하기
join 대상 테이블의 값중에
특정 컬럼이 값이 max인 데이터만을 가지고
join 하고 싶을 때 아래와 같이 사용합니다.
SQL Server 2005 이상에서는 아래와 같이
-----------------------------------------
SELECT *
FROM JOB A
OUTER APPLY
(
SELECT TOP 1 *
FROM JOBSTATUS B
WHERE B.JOBID = A.JOBID
ORDER BY B.seq DESC
) B
-----------------------------------------
그 전 버전에서는
-----------------------------------------
SELECT *
FROM JOB A
LEFT JOIN
JOBSTATUS B
ON B.ID =
(
SELECT TOP 1 ID
FROM JOBSTATUS C
WHERE C.JOBID = A.JOBID
ORDER BY C.SEQ DESC
)
-----------------------------------------
참고
http://stackoverflow.com/questions/4851949/joining-to-max-date-record-in-group