2013-04-26 7 views
0

저는 Oracle 10을 사용하고 있습니다.하지만이 질문을하는 가장 좋은 방법은 예제입니다.테이블 자체를 참조하는 조인 쿼리

select * 
    from t1, t2 
where t1.id = t2.id 
    and t1.otherID = (select max(otherID) 
         from t2 
         where id = THE ID FROM THE OUTER QUERY T1 
        ) 

나는 이것이 어디로 가려고하는지 생각합니다. 하위 쿼리에서 t1을 참조하여 최대 값 t2에 가입해야합니다.

이렇게 쿼리를 작성하는 방법을 알아야합니다.

"OUTER QUERY T1의 ID"는 내 혼란이있는 곳입니다.

t1.id을 사용해 보았지만 결과를 얻지 못했습니다.

+0

이 질문이 더 이상 유효하지 않은 경우 삭제해야합니다. –

답변

0

종종 where 절을 사용하는 것보다 더 나은 성능을 제공하는 가입에 하위 쿼리를 사용하여 다음과 같은

select t1.*, t2.* 
from t1 
join t2 on t1.id = t2.id 
join (select id, max(otherID) as max_otherID 
     from t2 
     group by id 
) a ON a.id = t1.id and a.max_otherID = t1.otherID 

을보십시오.