mysql отображает значение на значение по умолчанию, если оно не найдено в таблице - PullRequest
0 голосов
/ 18 ноября 2011

У меня есть эта таблица в mySQL, предназначенная для отображения некоторых значений в другие значения, например, страны в столицы.

Я хочу использовать это так:

SELECT capital
FROM CountryData
WHERE country = 'France';

или, скорее, чтобы обновить какую-то другую таблицу:

UPDATE CustomerData
SET customerCapital =
   SELECT capital
   FROM CountryData
   WHERE CountryData.country = CustomerData.customerCountry

Проблема возникает, когда страна не найдена в таблице Country. Как мне установить customerCapital в значение по умолчанию 'UNKNOWN' вместо NULL, если customerCountry отсутствует в таблице CountryData?

1 Ответ

2 голосов
/ 18 ноября 2011

Проверьте функцию COALESCE.

Однако я не советую вам хранить произвольное значение вместо NULL.Любое другое значение, кроме NULL , само по себе является информацией .Вы хотите показать отсутствие ценности, поэтому вы должны использовать NULL.
Звучит как косметическая проблема.Если вы хотите отобразить значение при печати customerCapital на экране, то в коде приложения следует преобразовать NULL в UNKNOWN.

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