CASE CON VARIAS CONDICIONES

26/07/2007 - 17:19 por Martín | Informe spam
tengo el siguiente problema en un sp dentro de un select hago un case
en un campo con 4 condiciones es decir...

si el campo1 = 1 -> 'devuelvo A'
si el campo1 = 2 -> 'devuelvo b'
si el campo1 = 3 -> 'devuelvo c'
si el campo1 = 4 -> 'devuelvo d'

lo que tengo hasta ahora de idea es

case campo1 when campo1 = 1 then 'a'
case campo1 when campo1 = 2 then 'b'
-


pero quiero unir las cuatro sentenciascon un else u algo para que
sea excluyentes, alguna idea?

Gracias,
Martin

Preguntas similare

Leer las respuestas

#1 Miguel Egea
26/07/2007 - 17:28 | Informe spam
case campo1 when 1 then 'devuelvo a' when 2 then 'devuelvo b' when 3 then
'devuelvo c' else 'paso de devolver nada' end

Saludos
Miguel Egea
"Martín" wrote in message
news:
tengo el siguiente problema en un sp dentro de un select hago un case
en un campo con 4 condiciones es decir...

si el campo1 = 1 -> 'devuelvo A'
si el campo1 = 2 -> 'devuelvo b'
si el campo1 = 3 -> 'devuelvo c'
si el campo1 = 4 -> 'devuelvo d'

lo que tengo hasta ahora de idea es

case campo1 when campo1 = 1 then 'a'
case campo1 when campo1 = 2 then 'b'
-


pero quiero unir las cuatro sentenciascon un else u algo para que
sea excluyentes, alguna idea?

Gracias,
Martin

Respuesta Responder a este mensaje
#2 Javier Loria
26/07/2007 - 18:06 | Informe spam
Hola:
El CASE tiene 2 formatos
1) Formato 1:
CASE Columna1 WHEN 1 THEN 'A'
WHEN 2 THEN 'B'
WHEN 3 THEN 'C'
ELSE 9 END
2) Formato 2:
CASE WHEN Columna1=1 THEN 'A'
WHEN Columna2=2 THEN 'B'
WHEN Columna3=3 THEN 'C'
ELSE 9 END
El CASE siempre es excluyente, eso es que la primera condicion verdadera
es la que se evalua y el resto no se evalua. Por ejemplo en el formato 2 si
la columna1=1 y columna2=2 entonces el resultado sera 'A' ya que esta de
primero.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.


"Martín" wrote in message
news:
tengo el siguiente problema en un sp dentro de un select hago un case
en un campo con 4 condiciones es decir...

si el campo1 = 1 -> 'devuelvo A'
si el campo1 = 2 -> 'devuelvo b'
si el campo1 = 3 -> 'devuelvo c'
si el campo1 = 4 -> 'devuelvo d'

lo que tengo hasta ahora de idea es

case campo1 when campo1 = 1 then 'a'
case campo1 when campo1 = 2 then 'b'
-


pero quiero unir las cuatro sentenciascon un else u algo para que
sea excluyentes, alguna idea?

Gracias,
Martin

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