입사후 공부한내용
2018-04-27(Outer Apply)
봉봉이네
2018. 4. 27. 09:21
Join을 할때 대상 테이블의 값중에서
특정컬럼의 값이 MAX인 데이터를 가지고 join 하고 싶을때 사용
SQL Server 2005 이상의 버전에서 사용
1 2 3 4 5 6 7 8 | select * from MAIN_TABLE A outer apply ( select top 1 * from JOIN_TABLE B where A.P_key = B.F_key order by B.seq desc ) B | cs |
그전 버전에서는 아래와 같이 사용
1 2 3 4 5 6 7 8 9 | select * from MAIN_TABLE A left join JOIN_TABLE B on A.P_key = ( select top 1 F_key from JOIN_TABLE C where C.F_key = A.P_key order by C.seq desc ) | cs |