Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Retornar valor 0 en lugar de Null

Estas en el tema de Retornar valor 0 en lugar de Null en el foro de Mysql en Foros del Web. Buen día compañeros, tengo un par de tablas de las cuales quiero obtener un saldo o total de una resta, esta es mi consulta @import ...
  #1 (permalink)  
Antiguo 05/05/2014, 13:27
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 11 años, 3 meses
Puntos: 4
Retornar valor 0 en lugar de Null

Buen día compañeros, tengo un par de tablas de las cuales quiero obtener un saldo o total de una resta, esta es mi consulta

Código SQL:
Ver original
  1. SELECT d.idarticulo, d.descripcion, e.entradas, s.salidas, e.entradas - s.salidas AS saldos
  2.      FROM (SELECT DISTINCT idarticulo, descripcion, idgrupo FROM sys_articulo) d
  3. LEFT JOIN (SELECT idarticulo, SUM(cantidadentrada) AS entradas, sysdate FROM sys_entrada_detalle GROUP BY idarticulo) e
  4.        ON d.idarticulo = e.idarticulo
  5. LEFT JOIN (SELECT idarticulo, SUM(cantidadsalida) AS salidas, sysdate FROM sys_salida_detalle GROUP BY idarticulo) s
  6.        ON d.idarticulo = s.idarticulo WHERE d.idgrupo=3;

la primera tabla es donde tengo mi catalogo de productos o articulos, luego tengo otra donde registro mis entradas y por ultimo donde registro mis salidas

esta consulta el inconveniente que tiene es que me retorna valor Null cuando no he generado ninguna salida de algun articulo que ya ingreso, ejemplo

entraron
10 peras
20 manzanas
15 piñas

de las cuales salieron

6 peras
12 manzadas

el resultado deberia ser
Código MySQL:
Ver original
  1. Producto | entradas | salidas | total
  2. peras    |    10    |     6   |   4
  3. manzanas |    20    |    12   |   8
  4. piñas    |    20    |     0   |   0

en lugar de eso me sale

Código MySQL:
Ver original
  1. piñas | 20 | Null | Null

espero que exista alguna solucion a esto ya sea con mysql o con php

Última edición por oscurogt; 05/05/2014 a las 13:43
  #2 (permalink)  
Antiguo 05/05/2014, 13:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Retornar valor 0 en lugar de Null

Código MySQL:
Ver original
  1. SELECT d.idarticulo, d.descripcion, IFNULL(e.entradas, 0, ) entradas, IFNULL(s.salidas, 0) salidas, (IFNULL(e.entradas, 0) - IFNULL(s.salidas, 0)) saldos
  2.      FROM (SELECT DISTINCT idarticulo, descripcion, idgrupo FROM sys_articulo) d
  3. LEFT JOIN (SELECT idarticulo, SUM(cantidadentrada) entradas, sysdate FROM sys_entrada_detalle GROUP BY idarticulo) e
  4.        ON d.idarticulo = e.idarticulo
  5. LEFT JOIN (SELECT idarticulo, SUM(cantidadsalida) salidas, sysdate FROM sys_salida_detalle GROUP BY idarticulo) s
  6.        ON d.idarticulo = s.idarticulo WHERE d.idgrupo=3;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 05/05/2014, 14:11
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 11 años, 3 meses
Puntos: 4
Respuesta: Retornar valor 0 en lugar de Null

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Código MySQL:
Ver original
  1. SELECT d.idarticulo, d.descripcion, IFNULL(e.entradas, 0 ) entradas, IFNULL(s.salidas, 0) salidas, (IFNULL(e.entradas, 0) - IFNULL(s.salidas, 0)) saldos
  2.      FROM (SELECT DISTINCT idarticulo, descripcion, idgrupo FROM sys_articulo) d
  3. LEFT JOIN (SELECT idarticulo, SUM(cantidadentrada) entradas, sysdate FROM sys_entrada_detalle GROUP BY idarticulo) e
  4.        ON d.idarticulo = e.idarticulo
  5. LEFT JOIN (SELECT idarticulo, SUM(cantidadsalida) salidas, sysdate FROM sys_salida_detalle GROUP BY idarticulo) s
  6.        ON d.idarticulo = s.idarticulo WHERE d.idgrupo=3;
Muchas gracias el Query corre a la perfeccion solo que colocaste una coma de mas
  #4 (permalink)  
Antiguo 05/05/2014, 14:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Retornar valor 0 en lugar de Null



A veces pasa...

Es que no tengo el MySQL Workbench a mano, por lo que no pude validar la sintaxis con el corrector...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 06/05/2014, 16:15
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 11 años, 3 meses
Puntos: 4
Respuesta: Retornar valor 0 en lugar de Null

No te preocupes yo si lo tengo por eso no me corrió a la primera jajaja, pero gracias me sacaste de un apuro.
Cita:
Iniciado por gnzsoloyo Ver Mensaje


A veces pasa...

Es que no tengo el MySQL Workbench a mano, por lo que no pude validar la sintaxis con el corrector...

Etiquetas: consulta-mysql, null
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:33.