2017-05-12 1 views
0

이 질문은 꽤 trival 것처럼 보일지 모르지만 SQL 프로그래밍에 익숙하지 않은 나는 왼쪽 조인을 이해하는 데 어려움을 겪고있다. 내가 왼쪽은 다음 테이블에 조인 수행해야오라클의 왼쪽 조인

- -

나는 다음과 같은 시나리오를 가지고 설명하기

from T1.id to T2.id 
from T2.Oi to T3.Oi 
from T1.Pi to T4.Pi 
from t4.Si to T5.Si 
from T6.Ki to T7.Ki 

나는 다음과 같은 방법을 할 노력하고있어,하지만 확실하지 그 올바른 접근 방법, 효율적인 접근 방식의 경우 그렇다면, 확실하지 않은 경우

select /*(whatever I want)*/ 
from 
T1 left join T2 on T1.id = T2.id 
left join T4 on T1.Pi = T4.Pi 
left join T5 on T4.Si = T5.Si 
left join T3 on T2.Oi = T3.Oi 
(Getting stuck on joining T6 and T7) 

내 위의 방법이 옳다하고있는 경우 누군가가 이해 좀 도와 줄래 T6 및 T7 가입에 해결하는 방법

건배!

+1

을하지만 어떻게 T6는 T1의 관계가 - T5 테이블? – jarlh

답변

0

테이블 조인 T1..T5는 것과 같아야합니다 :

SELECT * 
FROM T1 
LEFT JOIN T2 
ON T2.ID=T1.ID 
LEFT JOIN T3 
ON T3.OI=T2.OI 
LEFT JOIN T4 
ON T4.PI=T1.PI 
LEFT JOIN T5 
ON T5.SI=T4.SI 

난 당신이 너무 직교 제품을 고려하시기 바랍니다 해당 테이블이 무엇인지 모른다 (물론이 요구 될 수있다 결과 일부의 경우) . 더 읽기 here.

테이블 T6 및 T7에 대해 무엇을 알지 못합니다. 레코드가 같은 형태로 경우에 당신은 UNION은 (UNION 모든 연산자 고려하시기 바랍니다 사용할 수 있습니다 - read about difference :

SELECT * 
FROM T1 
LEFT JOIN T2 
ON T2.ID=T1.ID 
LEFT JOIN T3 
ON T3.OI=T2.OI 
LEFT JOIN T4 
ON T4.PI=T1.PI 
LEFT JOIN T5 
ON T5.SI=T4.SI 
UNION 
SELECT * 
FROM T6 
LEFT JOIN T7 
ON T7.KI=T6.KI