2013-08-22 1 views
0

내 결과MySQL의 쿼리 표시 -이 쿼리를이 0

cod_material cantidad_pedido 
-------------------------------- 
10001    NULL 
10002    25125 
10004    1283 
10006    NULL 

있습니다 그리고 대신 (0)

321010001    0 
NULL로 표시 할

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; 

도움을 청하십시오

+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

와우는 매우 빠르며 감사합니다. :) –