MySQL JOIN с пустыми / нулевыми значениями не возвращает результатов - PullRequest
3 голосов
/ 09 августа 2011

Я пытаюсь вернуть некоторые значения по желанию (если они существуют), а если нет, вернуть остаток набора.

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.first_name когда в people.country1 нет значения?

1 Ответ

5 голосов
/ 09 августа 2011

Просто сделай

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

, что приведет к возвращению NULL в соответствующие поля таблицы root_countries.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...