2013-08-08 2 views
3

동일한 테이블의 두 필드에 나타나는 코드에 대한 설명을 찾는 방법을 찾고 있습니다.SQL - 다른 테이블의 단일 필드에 동일한 테이블의 두 필드를 결합하십시오.

테이블/필드 이름은 다음과 같습니다

Contacts 
Name, Group_1 and Group_4 

Lookup 
Lookup_Id, Lookup_Name 

Contact.Group_1Contact.Group_4 모두 Lookup.Lookup_Id의 값을 참조 Lookup.Lookup_Name에 해당 이름 값에 해결 될 필요가있다.

Lookup 테이블에 두 필드를 모두 연결하고 해당 Lookup_name 값을 다시 가져 오게하려면 어떻게해야합니까? 이처럼

답변

4

왼쪽 두 번 조회와 연락처에 가입하세요. Group_1과 한 번, Group_2와 한 번. 두 그룹이 없으면 연락처가있을 수 있기 때문에 Inner Join 대신 Join을 선택하십시오.

SELECT C.Name, 
     G1.Lookup_Name, 
     G2.Lookup_Name 
FROM Contacts C 
     LEFT JOIN Lookup G1 ON G1.Lookup_Id = C.Group_1 
     LEFT JOIN Lookup G2 ON G2.Lookup_Id = C.Group_4 
+2

'G1.Lookup_Name' (G2와 동일) –

+0

@ypercube 고맙습니다. 나는 그것을 새롭게했다. –

1

:

select * 
from Contacts c 
left join Lookup l1 on l1.Lookup_Id = c.Group_1 
left join Lookup l2 on l2.Lookup_Id = c.Group_4 
관련 문제