Как выбрать sum -or- 0, если нет записей?

Мне нужно написать запрос, который возвращает сумму всех значений, удовлетворяющих определенным критериям, но запрос должен возвращать 0, если не найдено ни одной строки, а не null. Например:

tab    
+---------------+-----+
| descr         | num |
+---------------+-----+
| hello there   | 5   |
| hi there      | 10  |
| hello         | 10  |
| hi there!     | 15  |
+---------------+-----+

Этот запрос:

SELECT sum(num) AS val FROM tab WHERE descr LIKE "%hello%";

должен и возвращает 15. Однако:

SELECT sum(num) AS val FROM tab WHERE descr LIKE "%greetings%";

должен вернуть 0, но возвращает null.

Может кто-нибудь объяснить, возможно ли это?

34
задан ewok 17 January 2012 в 00:59
поделиться