Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > проблемы с NULL


Автор: DeamonShan 22.10.2010, 11:29
добрый день.

Если сделать запрос:

Код

SELECT SUM(count) FROM table WHERE id=1;



если таблица пустая, или строка не найдена, то результатом будет NULL. 

Но у меня в запросе такая структура:

Код

(tablе1.count - SELECT SUM(count) FROM table WHERE id=1) as _count 


в результате _count получается NULL, при условии если таблица table пуста или нет искомых строк с id=1 и table1.count=число (значение поля числовое).

Таким образом, мне нужно получить table1.count, а не NULL, если table пустая. Как это сделать?

Автор: Akina 22.10.2010, 11:30
COALESCE()

Автор: DeamonShan 22.10.2010, 11:46
Akina, можно пример?

Если ни тот ни другой <> NULL, то какое из них COALESCE() выберет?

Автор: DeamonShan 22.10.2010, 12:37
решил... сработало.

Код

COALESCE(
    tablе1.count - SELECT SUM(count) FROM table WHERE id=1),
    tablе1.count
)as count

Автор: Бонифаций 31.10.2010, 07:42
Можно IFNULL использовать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)