
CASE WHEN IN
Publicado por Carlos (12 intervenciones) el 25/04/2016 16:46:49
Tengo una duda, estoy realizando una consulta con WHERE y CASE. En uno de mis parametros envio la compañia, existen 5 compañias.
Si envio la compañia 5, me muestra todos los registros, si me envia una compañia diferente de 5, me muestra los registros solamente de la compañia que envio, mi consulta fue esta:
DECLARE @CompanyID
SELECT * FROM PERSONAL where CompanyID IN
(
CASE WHEN @CompanyID != 5 THEN @CompanyID // Si es diferente a 5, muestra datos de una compañia.
ELSE (1,2,3,4,5) END)) // Sino, me muestra datos de todas las compañias.
)
Solo me funciona la sentencia del "@CompanyID != 5", la otra sentencia no me funciona.
Alguna idea? :/
Si envio la compañia 5, me muestra todos los registros, si me envia una compañia diferente de 5, me muestra los registros solamente de la compañia que envio, mi consulta fue esta:
DECLARE @CompanyID
SELECT * FROM PERSONAL where CompanyID IN
(
CASE WHEN @CompanyID != 5 THEN @CompanyID // Si es diferente a 5, muestra datos de una compañia.
ELSE (1,2,3,4,5) END)) // Sino, me muestra datos de todas las compañias.
)
Solo me funciona la sentencia del "@CompanyID != 5", la otra sentencia no me funciona.
Alguna idea? :/
Valora esta pregunta


0