Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/07/2011, 11:16
gabrielernesto
 
Fecha de Ingreso: septiembre-2010
Mensajes: 7
Antigüedad: 14 años, 2 meses
Puntos: 0
Case dentro de un Where

Hola,

Quiero hacer una consulta que devuelva los resultados dependiendo si la variable mes que le paso como parámetro es par o impar. He intentado hacer lo siguiente:
SELECT *
FROM [GastosxConsorcio]
WHERE
CASE WHEN @Mes % 2 = 0 THEN
[COLOR="rgb(65, 105, 225)"] ((@Mes = [GastosxConsorcio].[Mes] and @Anio = [GastosxConsorcio].[Anio])[/COLOR]
OR
([GastosxConsorcio].[Frecuencia] = 1)
OR
([GastosxConsorcio].[Frecuencia] = 2 and [GastosxConsorcio].[EsPar] = 1))
ELSE
((@Mes = [GastosxConsorcio].[Mes] and @Anio = [GastosxConsorcio].[Anio])
OR
([GastosxConsorcio].[Frecuencia] = 1)
OR
([GastosxConsorcio].[Frecuencia] = 2 and [GastosxConsorcio].[EsPar] = 0))
END

Obtengo el siguiente error cuando clic en el tilde para analizar la consulta. Error:

Msg 102, Level 15, State 1, Procedure GastosxConsorcioSelect, Line 35
Incorrect syntax near '='.