Buenas tardes sebak2003, no estoy seguro de que esto se pueda hacer en access, pero es cuestión de que investigues alguna sintaxis parecida.
Supongmos que tu tabla de ventas tenga más o menos los siguientes datos
Fecha|Monto
--------------------
2007-01-01| 10
2009-01-01| 20
2010-01-01| 21
2007-01-01| 12
2009-01-01| 13
2010-01-01| 31
Si observas los datos podrás ver que para el año 2008 no existen ventas. Tu podrías hacer entonces algo como esto:
Código SQL:
Ver originalSELECT
SUM(CASE WHEN YEAR(fecha) = 2007 THEN monto ELSE 0 END) AS Ventas_2007,
SUM(CASE WHEN YEAR(fecha) = 2008 THEN monto ELSE 0 END) AS Ventas_2008,
SUM(CASE WHEN YEAR(fecha) = 2009 THEN monto ELSE 0 END) AS Ventas_2009,
SUM(CASE WHEN YEAR(fecha) = 2010 THEN monto ELSE 0 END) AS Ventas_2010
FROM Ventas
de tal manera que el resultado de la consulta anterior sería
Ventas_2007|Ventas_2008|Ventas_2009|Ventas_2010
------------------------------------
22|0|33|52
Espero que esto sea más o menos lo que necesitas hacer.
Saludos