Ver Mensaje Individual
  #30  
Antiguo 10-09-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por jooooseph Ver Mensaje
pero en este caso hay una pequeña dificultad, porque cuando quiera un reporte anterior tipo del 2011 o 2013. los unicos recultados que me pareceran son aquellos que nunca han ingresado nada.
Ya vi el error. Tienes razón. Veamos otro intento antes de rendirnos a las subconsultas

Código SQL [-]
select
  clientes.nombre,
  sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 1, monto, 0)) as enero,
  sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 2, monto, 0)) as febrero,
  ...
  sum(if(extract(year from fecha) = 2012 and extract(month from fecha) = 12, monto, 0)) as diciembre
from clientes
left join ingresos on clientes.nombre = ingresos.nombre
group by nombre

Funciona en MySQL. Habría que ver en Firebird cómo se comporta el IF o el CASE cuando la condición valúa a NULL.

// Saludos
Responder Con Cita