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

Campos Vacios

Estas en el tema de Campos Vacios en el foro de Mysql en Foros del Web. Hola amigos. Bueno en esta ocacion queria hacer una consulta que pienso que es facil de solucionar pero llevo 1 semana y no he podido, ...
  #1 (permalink)  
Antiguo 06/12/2011, 13:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 88
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Campos Vacios

Hola amigos.

Bueno en esta ocacion queria hacer una consulta que pienso que es facil de solucionar pero llevo 1 semana y no he podido, me explico.

tengo una consulta sql

Código:
select master_vel.DESC_PRODUCTO, IFNULL(ces_ivr_eventos.FECHA,0) ,count(IDEN_SERVICIO) nro_llamados
from master_vel 
inner join ces_ivr_tipo_vel_inet 
on  master_vel.DESC_PRODUCTO = ces_ivr_tipo_vel_inet.DESC_PRODUCTO
inner join ces_ivr_eventos on RUT_PERSONA=RUT
where abrev_evento = 'internet'
group by master_vel.DESC_PRODUCTO, ces_ivr_eventos.FECHA
que devuelve lo siguiente:

VELOCIDAD | FECHA | CANTIDAD
250K WiMax 2011-11-15 2
250K WiMax 2011-11-16 1
250K WiMax 2011-11-17 1
300 Kbps 2011-11-15 21
300 Kbps 2011-11-16 17
300 Kbps 2011-11-17 27
300 Kbps 2011-11-18 27
300 Kbps 2011-11-19 13
300 Kbps 2011-11-20 8
300 Kbps 2011-11-21 18
300K 2011-11-15 24
300K 2011-11-16 10
300K 2011-11-17 27
300K 2011-11-18 31
300K 2011-11-19 16
300K 2011-11-20 21
300K 2011-11-21 28

lo que hace mi consulta es devolver una velocidad de internet que se consulto en durante una semana(7 dias a partir de la fecha actual), pero si hay una fecha por la cual no se consulto no la muetra por ende necesito que la muestre que arroje un 0 o null, necesito que muestre algo asi:

VELOCIDAD | FECHA | CANTIDAD
250K WiMax 2011-11-15 2
250K WiMax 2011-11-16 1
250K WiMax 2011-11-17 1
250K WiMax 2011-11-18 0
250K WiMax 2011-11-19 0
250K WiMax 2011-11-20 0
250K WiMax 2011-11-21 0

300 Kbps 2011-11-15 21
300 Kbps 2011-11-16 17
300 Kbps 2011-11-17 27
300 Kbps 2011-11-18 27
300 Kbps 2011-11-19 13
300 Kbps 2011-11-20 8
300 Kbps 2011-11-21 18
300K 2011-11-15 24
300K 2011-11-16 10
300K 2011-11-17 27
300K 2011-11-18 31
300K 2011-11-19 16
300K 2011-11-20 21
300K 2011-11-21 28

ojala me puedan ayudar. gracias
  #2 (permalink)  
Antiguo 06/12/2011, 13:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 88
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Campos Vacios

o si es que alguien sabe como lo podría mostrar en php de la forma que menciono

PD: mi problema principal es que no hago que me cuadre con una tabla en php por eso requiero cuadrar el resultado por mysql
  #3 (permalink)  
Antiguo 06/12/2011, 13:57
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: Campos Vacios

Tu problema base es que hay fechas para las que no existen datos en ninguna parte, y MySQL, como cualquier DBMS hace operaciones con los datos que existen en las tablas. No saca datos de la nada.
Cuando por medio del SQL se obtiene la no ocurrencia de un dato, se hace siempre sobre la base donde si existen datos con qué comparar. Es el caso de encontrar las fechas donde hubo cero compras de un cliente, pero donde efectivamente hubo compras de otros: la fecha se obtiene de otra tabla, pero existe.
En tu caso, para lograrlo por MySQL requieres una tabla donde exista esa fecha, de lo contrario no puedes resolverlo por este medio.
Es mucho más facil hacer lo que quieres por medio de programación, que intentarlo por SQL.
¿Por qué no preguntas en el foro de PHP o lo que sea que uses? Probablemente alquien ya se haya tropezado con este tipo de cosas y te pueda guiar mejor.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 06/12/2011, 14:07
 
Fecha de Ingreso: diciembre-2008
Mensajes: 88
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Campos Vacios

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tu problema base es que hay fechas para las que no existen datos en ninguna parte, y MySQL, como cualquier DBMS hace operaciones con los datos que existen en las tablas. No saca datos de la nada.
Cuando por medio del SQL se obtiene la no ocurrencia de un dato, se hace siempre sobre la base donde si existen datos con qué comparar. Es el caso de encontrar las fechas donde hubo cero compras de un cliente, pero donde efectivamente hubo compras de otros: la fecha se obtiene de otra tabla, pero existe.
En tu caso, para lograrlo por MySQL requieres una tabla donde exista esa fecha, de lo contrario no puedes resolverlo por este medio.
Es mucho más facil hacer lo que quieres por medio de programación, que intentarlo por SQL.
¿Por qué no preguntas en el foro de PHP o lo que sea que uses? Probablemente alquien ya se haya tropezado con este tipo de cosas y te pueda guiar mejor.
Gracias por la rapida respuesta, mira estaba pensando lo mismo que tu que si no hay registro de la fecha no la contaria por lo tanto no podria rellenarlo con 0 o null, tambien lo he intentado con php, pero no logro hacerlo de todas maneras hare lo que me dices y hechare una ojeada al foro de PHP, Gracias.

Etiquetas: campos, join, select, sql, vacios
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 12:20.