2011-03-05 1 views
0

을 적용하지 않는 경우 열에서 NULL 값을 얻을 필요가나는 중간 테이블 내가 두 개의 분리 된 관계 제도가 그렇게 같이가 테이블을 조인하고

그리고 2 차 관계 방식의 모습이 두 관계를 중심 & B가 존재하는 경우

A1columnId A2columnId BcolumnId CcolumnId 
    1   1   1   1 
    2   null  2   2 
    3   null  3   3 
    4   2   4   4 
    5   null  5   5 

, 나는 아래의 관계에 대한 널 (null)로 A2colId를 볼 필요가 같은 : TableA1-> TableB의-TableC < < < < 관계의 B (이 방식은 TableA2에 대한 단서가 없다)

어떻게 당신이 위의 묘사로 A2ColumnId에 널 (null)로 설정 한 결과를 얻기 위해 가입 할 것인가?

+0

제 편집에서 어떤 일이 발생했는지 알지 못하지만 이전과 같이 그대로두고 모든 것을 강조 표시하고 {} 버튼을 클릭하여 모양이 좋아 보이게하십시오. – rayman86

답변

1

LEFT JOIN은 오른쪽 테이블에 데이터가없는 경우에도 테이블을 강제로 추가하며 그 자리에 null을 채 웁니다. 당신은 A1과 A2에 가입 할 때 그래서 당신은 그렇게 할 것입니다 :

SELECT * 
    FROM A1 
     LEFT JOIN A2 
      ON A1.idlink = A2.idlink 
     JOIN B 
      ON A1.id = B.id 
     JOIN C 
      ON A1.id = C.id; 
+0

감사합니다 ... 나는이 wysiwydg 편집기와 싸우고있다. – RetroCoder

0
SELECT * 
FROM TableA A1 
    LEFT JOIN TableA A2 ON A1.ColumnId1 = A2.ColumnId2 
    INNER JOIN TableB B ON B.ColumnId IN (A1.ColumnId1, A2.ColumnId2) 
    INNER JOIN TableC C ON B.ColumnId = C.ColumnId 

를 내가 바로 잡았다합니다.

관련 문제