Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Case Anidados ¿Se puede? (https://www.clubdelphi.com/foros/showthread.php?t=29648)

jam888 27-01-2006 16:21:36

Case Anidados ¿Se puede?
 
Que tal foro mi pregunta es la siguiente puedo insertar un case dentro de otro case, no coloco mi problema por que es muy complejo, pero si podrian colocar un ejemplo sencillo y cortito me seria de mucha ayuda, desde ya gracias y un abrazo.

Neftali [Germán.Estévez] 27-01-2006 16:31:23

Creo que no lo permite la sintaxis.
¿No hay manera de "desanidarlos" y crear un sólo nivel?

delphi.com.ar 27-01-2006 16:48:07

Ahora si:
Código SQL [-]
SELECT CASE WHEN 1=1 THEN CASE WHEN 2=2 THEN 1 ELSE 2 END ELSE 3 END
UNION ALL
SELECT CASE WHEN 1=2 THEN CASE WHEN 2=2 THEN 1 ELSE 2 END ELSE 3 END
UNION ALL
SELECT CASE WHEN 1=1 THEN CASE WHEN 2=3 THEN 1 ELSE 2 END ELSE 3 END
Es un ejemplo muy básico, pero espero que te sea útil.

Saludos!

jam888 30-01-2006 16:38:43

Ok, lo probe y anda
 
Gracias lo he probado y marcha bien , Un Abrazo.

Xianto 31-01-2006 01:49:06

Tambien puedes hacer algo como:

Código SQL [-]
select
   case when a=1 then 5
   case when a=2 then 6
   case when a=3 then 7
   case when a=4 then 8
   case when a=5 then 9
end

Saludos !

delphi.com.ar 31-01-2006 14:39:38

Cita:

Empezado por Xianto
Tambien puedes hacer algo como:
Código SQL [-]
select
   case when a=1 then 5
   case when a=2 then 6
   case when a=3 then 7
   case when a=4 then 8
   case when a=5 then 9
end

Particularmente en ese caso yo haría algo como:
Código SQL [-]
select
   case a
    when 1 then 5
    when 2 then 6
    when 3 then 7
    when 4 then 8
    when 5 then 9
   end

Saludos!


La franja horaria es GMT +2. Ahora son las 04:09:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi