Мне нужно написать запрос, который возвращает сумму всех значений, удовлетворяющих определенным критериям, но запрос должен возвращать 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
.
Может кто-нибудь объяснить, возможно ли это?