mysql查询显示而不是NULL-0
我有这个疑问mysql查询显示而不是NULL-0,mysql,Mysql,我有这个疑问 SELECT A.cod_material, SUM(B.cantidad_pedido) as cantidad_pedido FROM materiales AS A LEFT JOIN ingreso_material AS B on A.cod_material = B.cod_material GROUP BY A.cod_material; 我的结果是 cod_material cantidad_pedido -----------------------
SELECT
A.cod_material,
SUM(B.cantidad_pedido) as cantidad_pedido
FROM materiales AS A LEFT JOIN ingreso_material AS B
on A.cod_material = B.cod_material GROUP BY A.cod_material;
我的结果是
cod_material cantidad_pedido
--------------------------------
321010001 NULL
321010002 25125
321010004 1283
321010006 NULL
我希望它显示,而不是NULL(0)
Ty需要您的帮助请使用
案例
SUM(case when B.cantidad_pedido IS NULL
then 0
else B.cantidad_pedido
end) as cantidad_pedido
或isnull
SUM(ISNULL(B.cantidad_pedido, 0)) as cantidad_pedido
在此处使用COALESCE()
。函数返回第一个非空值
SELECT
A.cod_material,
COALESCE(SUM(B.cantidad_pedido), 0) as cantidad_pedido
FROM materiales AS A LEFT JOIN ingreso_material AS B
on A.cod_material = B.cod_material GROUP BY A.cod_material;
最好的方法是修改表并给它们一个默认值0
SELECT
A.cod_material,
COALESCE(SUM(B.cantidad_pedido), 0) as cantidad_pedido
FROM materiales AS A LEFT JOIN ingreso_material AS B
on A.cod_material = B.cod_material GROUP BY A.cod_material;