У меня есть запрос mysql
SELECT
ju.ID,
ju.JENIS_USAHA,
COALESCE(TOTAL_PEMBERI, 0) AS TOTAL_PEMBERI,
COALESCE(OUTLET_PEMBERI, 0) AS OUTLET_PEMBERI,
COALESCE(TOTAL_PENERIMA, 0) AS TOTAL_PENERIMA,
COALESCE(OUTLET_PENERIMA, 0) AS OUTLET_PENERIMA,
COALESCE(OUTLET_PEMBERI + OUTLET_PENERIMA, 0) AS SEMUA
проблема в том, что OUTLET_PEMBERI не имеет значения null и OUTLET_PENERIMA null (или наоборот), SEMUA покажет 0. Как это решить? Спасибо
Попробуйте использовать COALESCE
на обоих терминах отдельно:
SELECT
ju.ID,
ju.JENIS_USAHA,
COALESCE(TOTAL_PEMBERI, 0) AS TOTAL_PEMBERI,
COALESCE(OUTLET_PEMBERI, 0) AS OUTLET_PEMBERI,
COALESCE(TOTAL_PENERIMA, 0) AS TOTAL_PENERIMA,
COALESCE(OUTLET_PENERIMA, 0) AS OUTLET_PENERIMA,
COALESCE(OUTLET_PEMBERI, 0) + COALESCE(OUTLET_PENERIMA, 0) AS SEMUA
FROM ...
Если это не решит вашу проблему, и вы действительно хотите получить нулевое значение, если любой из сумм в суммировании будет NULL
, тогда просто оставьте свой код как есть.