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

mostrar el valor 0 en un count

Estas en el tema de mostrar el valor 0 en un count en el foro de Mysql en Foros del Web. Hola buenas, Tengo un problemilla con una consulta en mysql, utilizando Jgraph para crear gráficas, he creado una consulta para que me de los valores ...
  #1 (permalink)  
Antiguo 13/01/2009, 09:55
 
Fecha de Ingreso: enero-2008
Mensajes: 37
Antigüedad: 16 años, 2 meses
Puntos: 0
mostrar el valor 0 en un count

Hola buenas,

Tengo un problemilla con una consulta en mysql, utilizando Jgraph para crear gráficas, he creado una consulta para que me de los valores X e Y de una gráfica.
pero no consigo la manera de poder hacer que en esa consulta aparezca el dato 0. me explico:
Necesito que la consulta muestre las actividades de los últimos 6 meses.
El problema es que si no hay actividad en un mes, no aparece.
Necesitaría que aunque no haya ningun registro para un mes en concreto, en el resultado de la consulta apareciese el mes segudo de 0.

La consulta que utilizo es esta:
Código PHP:
SELECT MONTH(FECHA_FIRMA) AS mesYEAR(FECHA_FIRMA) AS anoCOUNT(ID) AS firmas 
FROM firmas 
WHERE FECHA_FIRMA 
>= date_sub(CURDATE(),INTERVAL 5 month)
GROUP BY MONTH(FECHA_FIRMA)
ORDER BY FECHA_FIRMA 
y el resultado sería así:
mes-----ano-----firmas
08------2008-------5
09------2008-------4
10------2008-------8
12------2008-------2

Como veis el mes 11 no aparece ya que no hay ninguna firma en la BBDD para el mes 11. ¿Sería posible que mostrase el valor 0 para el mes 11?

mes-----ano-----firmas
08------2008-------5
09------2008-------4
10------2008-------8
11------2008-------0 <----El mes 11 contiene 0 firmas
12------2008-------2

Un saludo y grácias
  #2 (permalink)  
Antiguo 14/01/2009, 08:12
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: mostrar el valor 0 en un count

Como no tiene ningun registro con fechas de ese mes no puede salir ni cero ni nulo simplemente no sale ya que el mes se calcula a partir de la fecha.

Para insertar los meses que no estan lo puedes hacer de varias formas:

via programación iterando sobre un numerador del 1 al 12.... seria tema para otro foro, el del lenguaje que uses....php asp...

via sql solo se me ocurre que tendrias que tener una tabla con los 12 meses y hacer un LEFT JOIN con tu consulta

tabla12meses LEFT JOIN (tu consulta) as consulta on tabla12meses.mes=consulta.mes

yo me inclinaria por la programación puesto que por lo que veo tienes distintos años con lo que la segunda solución se complica...creo

Quim
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 02:08.