2014-10-06 4 views
0

4 개의 테이블 A, B, C, D가 있습니다.왼쪽 외부 조인을 사용하여 여러 테이블에서 데이터 가져 오기

A는 고객 ID, B를 저장합니다. C는 고객의 다양한 세부 정보를 저장합니다. 예 : B 상점 교육, C 상점 점령, D 상점 관심.

는 이제 고객은 C, D의 항목이없는했거나은 B와 D의 항목이있을 수 있지만 C.

에서 나는 모든 네 개의 테이블을 joing 모든 정보를 선택합니다. Customer_id는 네 개의 테이블 모두에 있습니다. 내부 결합은 명확하게 작동하지 않습니다.

왼쪽 외부 조인을 생각하고 있습니다. 누군가가 요구 사항을 도울 수 있습니까?

+2

'왼쪽 외부 결합'은 올바른 선택처럼 보입니다. 당신 (왼쪽 외부)이'Customer_id'에 참여하고 일치하는 데이터를 찾을 수없는 행에서 그 테이블의 값은'NULL'이 될 것입니다 – DrCopyPaste

답변

0

LEFT OUTER JOIN은 A : B 열이 일치하거나 B : C가 일치하는 행만 가져오고, C 열의 특정 행의 값을 비워 두려면 U를 먼저 만들 수 있습니다. LEFT OUTER A와 B에 참여한 다음 C와 D로 전체 외부 조인을 만듭니다. 그런 식으로 C 또는 D의 모든 데이터를 유지할 수있게 될 것입니다. 그 안에 값이 있거나 없으면 no mather가됩니다.

I 이런 식으로 뭔가에 생각하고 이러한 라인을 따라

SELECT a.store, b.education, d.storeinterest FROM 

(
SELECT * FROM A 
LEFT OUTER JOIN B 
ON A = B 
) A 

FULL OUTER JOIN C 
    ON A = C 

FULL OUTER JOIN D 
    ON A= D 
0

뭔가하면 시작할 수 있어야합니다

SELECT a.*, b.*, c.*, d.* 
FROM a LEFT OUTER JOIN b on 
a.customer_id = b.customer_id LEFT OUTER JOIN c 
on a.customer_id = c.customer_id LEFT OUTER JOIN d 
on a.customer_id = d.customer_id 
관련 문제