A ver, el uso del left join es el que permite incluir en la consulta registros que no tienen par en la tabla de ingresos. Pero al hacer el filtro volvían a desaparecer esos registros porque
devuelve NULL precisamente para ellos y no satisfacía la comparación con 2012.
coalesce, por otra parte, es una función que devuelve el primer argumento que
no sea NULL, Entonces
Código SQL
[-]
coalesce(extract(year from date), 2012)
devolverá el segundo argumento parra esos registros, y, como queremos que sí los incluya, ponemos ese segundo argmuento igual al año que estamos examinando.
// Saludos