Utilizar CASE en el WHERE

19/01/2006 - 12:01 por carlos | Informe spam
hola,

Teniendo una tabla del tipo
intCodigo (int)
strDescripcion (nvarchar(50))
boolTipo1 bit,
boolTipo2 bit,
boolTipo3 bit

es posible a traves de un SP en el que se le pasa un numero de tipo (@Tipo
int), ejecutar una consulta del tipo?

select intCodi, strDescripcion from tabla1
where
case @Tipo = 1 then boolTipo1 = 1
case @Tipo = 2 then boolTipo2 = 1
case @Tipo = 3 then boolTipo3 = 1
end

Gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
19/01/2006 - 12:12 | Informe spam
Por poder, se puede hacer, pero la consulta no será muy eficiente:

SELECT intCodi, strDescripcion
FROM tabla1
WHERE 1 = CASE @tipo WHEN 1 THEN boolTipo1
WHEN 2 THEN boolTipo2
WHEN 3 THEN boolTipo3
END

Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"carlos" escribió en el mensaje
news:
hola,

Teniendo una tabla del tipo
intCodigo (int)
strDescripcion (nvarchar(50))
boolTipo1 bit,
boolTipo2 bit,
boolTipo3 bit

es posible a traves de un SP en el que se le pasa un numero de tipo (@Tipo
int), ejecutar una consulta del tipo?

select intCodi, strDescripcion from tabla1
where
case @Tipo = 1 then boolTipo1 = 1
case @Tipo = 2 then boolTipo2 = 1
case @Tipo = 3 then boolTipo3 = 1
end

Gracias



Respuesta Responder a este mensaje
#2 Ele
19/01/2006 - 17:24 | Informe spam
checa esta otra opcion
Select *
From Tabla
Where (@Tipo = 1 And boolTipo1 = 1)
Or (@Tipo = 2 And boolTipo2 = 1)
Or (@Tipo = 3 And boolTipo3 = 1)

"carlos" escribió en el mensaje
news:
hola,

Teniendo una tabla del tipo
intCodigo (int)
strDescripcion (nvarchar(50))
boolTipo1 bit,
boolTipo2 bit,
boolTipo3 bit

es posible a traves de un SP en el que se le pasa un numero de tipo (@Tipo
int), ejecutar una consulta del tipo?

select intCodi, strDescripcion from tabla1
where
case @Tipo = 1 then boolTipo1 = 1
case @Tipo = 2 then boolTipo2 = 1
case @Tipo = 3 then boolTipo3 = 1
end

Gracias



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida