В вашем случае просто удалите GROUP BY
и используйте COALESCE()
:
SELECT COALESCE(SUM(quantity), 0) AS qt
FROM stockMove
WHERE date_mov >= '2019-04-01' AND date_mov <= '2019-04-30' AND
ProductCode = '000807';
Запрос агрегации без GROUP BY
всегда возвращает одну строку, даже если ни одна строка не совпадает. Возвращаемое значение - NULL
- вот где приходит COALESCE()
.
С GROUP BY
запрос вообще не возвращает строк. Не могу ничего преобразовать в 0
.