Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/04/2007, 14:52
juantiva
 
Fecha de Ingreso: junio-2006
Mensajes: 109
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: WHERE con un CASE

Código:
SET NOCOUNT ON
Declare @Sede varchar(10)

SET @Sede = 'TD'


Declare @listas table(Origen varchar(2))

INSERT @listas VALUES('AF')
INSERT @listas VALUES('CP')
INSERT @listas VALUES('LL')
INSERT @listas VALUES('EC')
INSERT @listas VALUES('PE')
INSERT @listas VALUES('ZZ')

SELECT * FROM @listas
WHERE 1 =
CASE 
WHEN @Sede = 'TD' THEN CASE WHEN Origen IN ('AF','CP','LL','EC','PE') THEN 1 ELSE 0 END
WHEN @Sede = 'SS' THEN CASE WHEN Origen IN ('LL','EC','PE') THEN 1 ELSE 0 END
ELSE CASE WHEN Origen = @Sede THEN 1 ELSE 0 END
END

SET NOCOUNT OFF
Suerte