Sentencia SQL de mes actúa

Hola quisiera saber como hago en una sentencia SQL, para que
me mande el mes actual..
Lo que en realidad quiero es lo siguiente, tengo que sacar
un reporte donde me vote la cantidad vendida en los 3 meses anteriores para ser
comparaciones venta, esta consulta me salio bien hasta el mes pasado ENERO,
pero a partir de este mes FEBRERO, me vota cero, mi consulta es la siguiente:

.............................................................................................

SELECT      CASE WHEN MONTH(Ventas.Fecha)=@mesini
THEN Salidas_Detalle.Cantidad ELSE '0' END AS Mes1,
CASE
WHEN MONTH(Ventas.Fecha)=@mesmed THEN Salidas_Detalle.Cantidad ELSE '0' END AS
Mes2,
CASE
WHEN MONTH(Ventas.Fecha)=@mesfin THEN Salidas_Detalle.Cantidad ELSE '0' END AS
Mes3
FROM                                      dbo.Artículos AS Artículos INNER JOIN
dbo.Salidas_Detalle AS Salidas_Detalle
ON Artículos.Id_Articulo = Salidas_Detalle.Id_Articulo INNER JOIN
dbo.Laboratorios AS Laboratorios ON
Artículos.Id_Laboratorio = Laboratorios.Id_Laboratorio INNER JOIN
dbo.Ventas AS Ventas ON
Salidas_Detalle.Id_Salida = Ventas.Id_Salida LEFT OUTER JOIN
dbo.Clientes ON Ventas.Id_Cliente = dbo.Clientes.Id_Cliente
WHERE     (MONTH(Ventas.Fecha)>=@mesini AND
MONTH(Ventas.Fecha)<=@mesfin AND YEAR(Ventas.Fecha)=YEAR(GETDATE())) AND
(Ventas.Anulada = 0) AND
(Ventas.Id_Documento = '01' OR Ventas.Id_Documento = '03') AND
(Artículos.Id_Articulo=@idart OR @idart='') AND
(Artículos.Id_Laboratorio=@idlab OR
@idlab='')AND
(dbo.Clientes.tipcli = N'S' OR
dbo.Clientes.tipcli = N'I')

.................................................................

Como se abran dado cuenta estoy dando una sentencia por año
"getdate" , lo que solo me especifica el año en que se esta trabajando, el tema es que al empezar el segundo mes de un año nuevo, esta cadena se
rompe, por eso necesita trabajar por mes actual. O si tienen otra solución mas
conveniente se los agradecería mucho, mi coreo es [email protected]
gracias ...

Añade tu respuesta

Haz clic para o