2014-08-29 2 views
0

두 테이블 "tbl_people"과 "tbl_spouses"가 있다고 가정 해 봅시다.SQL - ID가 0 일 때 결합하십시오.

tbl_people structure: 
- PeopleID 
- Name 
- Prename 
- SpouseID_FK 

tbl_spouses structure: 
- SpouseID 
- Name 
- Prename 

기타 등등 (배우자도 사람이 아니기 때문에 가장 좋은 예는 아니지만, 무엇이든지).

이제 배우자의 성을 갖고 싶습니다. SpouseID_FK = 0 인 경우 기록도 잘 보여야하지만 배우자의 이름은 ""이어야합니다.

SELECT tbl_people.PeopleID, 
     tbl_people.Name, 
     tbl_people.Prename, 
     tbl_spouses.Prename AS PrenameOfSpouse 
FROM tbl_people 
INNER JOIN tbl_spouses ON tbl_people.SpouseID_FK = tbl_spouses.SpouseID 

이 SQL의 문제는 단지 SpouseID_FK에 0 값이없는 기록을 보여주고 있다는 것입니다.

아무도 도와 줄 수 있습니까?

+2

명확하지 않은 질문하지만 난 그것을 사용하여 해결 될 수 있다고 생각'대신 왼쪽 외부 Join'는'내부 join' –

답변

1

여기에는 배우자도없는 tbl_people의 레코드가 표시됩니다.

SELECT tbl_people.PeopleID, tbl_people.Name, tbl_people.Prename, 
     tbl_spouses.Prename AS PrenameOfSpouse 
FROM tbl_people 
LEFT JOIN tbl_spouses ON tbl_people.SpouseID_FK = tbl_spouses.SpouseID 
+1

당신을 감사 일했다! :) – user2871190

관련 문제