2013-08-22 99 views
0

我有这个疑问MySQL查询显示,而不是NULL - 0

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 
-------------------------------- 
10001    NULL 
10002    25125 
10004    1283 
10006    NULL 

而且我想让它显示的,而不是NULL(0)

321010001    0 

Ty for your help

+0

最好的办法是改变你的表格,并给他们的0 – Sebastien

回答

1

使用COALESCE()这里。该函数返回的第一个NULL的值。

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; 
1

使用一个case

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 
+0

哇默认值谢谢,这是非常快:)和它的工作原理 –