2013-08-22 3 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 для вашей помощи

+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

вау спасибо, что было довольно быстро :) и это работает –

Смежные вопросы