2011-10-07 6 views
5

하나의 원본 테이블에서 둘 이상의 테이블로 여러 조인을 수행하는 방법을 찾고 있습니다.SQL Server 다중 LEFT JOIN, 일대 다

SELECT a.NAME, b.address, c.phone 
FROM tblname a 
LEFT JOIN tbladdress b ON a.nid = b.nid 
나는 또한 왼쪽을 수행 할

가 동시에 전화 테이블 tblPhone에 조인 다음과 유사

나는이를 넣어하는 방법을 볼 수 있습니다로
tblname a left join tblPhone c on a.PID = c.PID 

시도 하나의 쿼리로

+0

? 모든 순열과 함께 30 행? –

+0

이 시나리오에서 주소와 전화 번호는 각각 고유 한 값입니다. 귀하의 제안에 감사드립니다. RedFilter의 대답은 –

답변

15

필요할 때 당신은 단순히 여러 번로 JOIN 절을 반복 할 수 있습니다 예를 들면 : 당신이 할 결과를 원하는 작업 이름이 6 개 주소와 5 개 전화가 관련된 경우

SELECT a.NAME 
    ,b.address 
    ,c.phone 
FROM tblname a 
LEFT JOIN tbladdress b ON a.nid = b.nid 
LEFT JOIN tblPhone c ON a.PID = c.PID 
2
SELECT a.name, b.address, c.phone 
FROM tblname a 
left join tbladdress b on a.nid = b.nid 
left join tblPhone c on a.PID = c.PID; 
+0

입니다. 하늘이 한계입니다. 그냥 42 조인을 넘지 마십시오. –

0
SELECT a.name, b.address, c.phone 
FROM (tblname a 
    left join tbladdress b on a.nid = b.nid) c 
left join tblPhone d on c.PID=d.PID