En este caso hay que repalntearlo todo...
Código SQL:
Ver originalSELECT MONTH(Ventas.fecha) & '/' & YEAR(Ventas.fecha) AS Fecha,
SUM(Ventas.ventas) AS [Ventas Mensuales],
SUM(Ventas.cmv) AS CMV,
SUM(Ventas.Ventas-Ventas.CMV) AS [MARGEN DE CONTRIBUCION],
(SELECT Gf.Monotributo
FROM Gastos_fijos Gf
WHERE
(((MONTH(Gf.[fecha]) & '/' & YEAR(Gf.[fecha]))=MONTH([Ventas].[fecha]) & '/' & YEAR([Ventas].[fecha])))) AS MonotributoMensual
FROM Ventas
WHERE (((MONTH([Ventas].[fecha])) BETWEEN 1 AND 12)
AND ((YEAR([Ventas].[fecha]))=2010))
GROUP BY MONTH(Ventas.fecha) & '/' & YEAR(Ventas.fecha);
siendo gastos fijos quizas seria mejor trabajarlo a parte una consulta para cada cosa... pero bueno eso te da lo que buscas siempre que no tengas dos registros de un mes determinado en la tabla gastos_fijos, puesto que si la subconsulta retorna mas de un registro dará error.
Si tienes varios registros puedes sumarlos para obtener uno solo, si MonoTributo solo tiene valor en un registro te dará igual
Código SQL:
Ver originalFecha Monotributo Otros ...
1/1/2010 4 0
5/1/2010 0 5
Si substituyes la subconsulta por
Código SQL:
Ver originalSELECT SUM(Gf.Monotributo) AS SumaDeMonotributo
FROM Gastos_fijos Gf
GROUP BY MONTH(Gf.[fecha]) & '/' & YEAR(Gf.[fecha])
HAVING (((MONTH(Gf.[fecha]) & '/' & YEAR(Gf.[fecha]))=MONTH([Ventas].[fecha]) & '/' & YEAR([Ventas].[fecha])))
tambien te funcionará con diversos registros....
Quim