2013-06-09 2 views
0

SQL에서 3 개의 테이블을 조인하려고합니다. 당신은 내가 표 1에서 3 고객이 볼 수 있듯이 표SQL 조인 및 유니온 모두

CustomerID FirstName LastName Address  EmailAddress  
1    bob    S    1111  [email protected] 
2    jim    B    2222  [email protected] 
3    hank    H    333   [email protected] 

표 2

CustomerID  Date MemberID 
    1   5/15/86 1 
    2   5/16/86 2 

표 3은

CustomerID  Lengthofstay 
    1    5 
    2    16 

나는 3 테이블에 가입해야합니다. 하지만 테이블 2와 3에서는 고객 3이 테이블 2와 3에 대한 정보를 가지고 있지 않은 곳에서는 NULL이 필요합니다. 테이블 1 인 고객 3 정보는 모두 가지고 있지만 거기에는없는 빈 정보 고객 3은 NULL이됩니다.

나는이 봤어하지만 고객 3 점 잎이 고객 3.을 잎

SELECT  
A.CustomerID, 
A.Firstname, 
A.Lastname, 
A.Address, 
A.EmailAddress, 
B.CustomerID, 
B.Date, 
B.memberID, 
C.CustomerID, 
C.LengthofStay 

FROM TABLE1 as A 
JOIN Table2 as B on (A.CustomerID = B.CustomerID) 
LEFT JOIN TABLE3 as C on (A.CustomerId = C.CustomerID) 

내가 사용 시도 :

WHERE A.CustomerID IS NULL;을하지만 난 다시 아무것도 얻을 수 없다. 감사합니다

답변

1

OK, 당신의 거의가, 당신이 먼저 LEFT 조인 변환 할 필요가 가입 :

SELECT  
A.CustomerID, 
A.Firstname, 
A.Lastname, 
A.Address, 
A.EmailAddress, 
B.CustomerID, 
B.Date, 
B.memberID, 
C.CustomerID, 
C.LengthofStay 

FROM TABLE1 as A 
LEFT JOIN Table2 as B on (A.CustomerID = B.CustomerID) 
LEFT JOIN TABLE3 as C on (A.CustomerId = C.CustomerID) 
+0

이 표 2와 3의 값에 고객 3 NULL 값을 제공 할 것입니다? Thanks –

+1

예 고객 3의 TableB & TableC에서 반환 된 값은 null입니다. http://sqlfiddle.com/#!3/237ce4/1/0 참조 –