Cita:
Empezado por jooooseph
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