2011-08-09 4 views
3

일부 값을 선택적으로 반환하려는 경우 (있는 경우), 나머지 값은 반환하지 않습니다. 어떤 경우에공백/null 값이있는 MySQL JOIN은 결과를 반환하지 않습니다.

SELECT people.first_name, countries1.name AS "Country1" 
FROM addressbook_people AS people 
JOIN root_countries AS countries1 ON people.country1 = countries1.id 


그러나 한 경우는 제공되지 어떤 결과 people.country1에 제공된 값이 없습니다.

people.country1에 값이 없을 때 people.first_name 이 여전히 반환되도록이 쿼리를 재구성하려면 어떻게해야합니까?

+2

왼쪽 결합을 사용하십시오. –

+1

'JOIN'을 'LEFT JOIN'으로 변경할 수 있습니다. – ajreal

답변

5

는 그냥 root_countries 테이블의 각 분야에 NULL 반환에 발생합니다

SELECT people.first_name, countries1.name AS "Country1" 
FROM addressbook_people AS people 
LEFT JOIN root_countries AS countries1 ON people.country1 = countries1.id 

을한다.

관련 문제