Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Es posible un Case anidado en Sentencia SQL ? (https://www.clubdelphi.com/foros/showthread.php?t=48451)

gluglu 25-09-2007 18:59:15

Es posible un Case anidado en Sentencia SQL ?
 
Hola a tod@s !

Es posible un Case anidado directamente en una sentencia SQL, sin tener que recurrir a un Stored Procedure ?

En este caso concreto lo pregunto para Interbase 7.5.

Gracias

Paoti 25-09-2007 19:29:21

Hola gluglu

danos un ejemplod e lo que quieres ahcer, yo uso mucho eso... (ORACLE Y SQL Server)


por ejemplo, puedos hacerlo con cases y unions


Código SQL [-]
SELECT ID1, (case.....) DESCRIPCION FROM TABLA1 WHERE 
UNION
SELECT ID1,(case ) DESCRIPCION FROM TABLA1 WHERE 


no necsiamente tiene que ser la misma tabla, el mismo filtro, ni los mismos campos en la sentencia Case


espero te sirva

gluglu 25-09-2007 19:48:41

Quiero .... en teoría ... hacer algo así como :

Código SQL [-]
Select ..., 
  case when CAMPO1 = 1 then A
  else case when CAMPO2 = 1 then B else C end end,
  ...

Es decir, si un CAMPO1 tiene un valor determinado devolver una columna A (p.ej.), en caso contrario poner otra condición adicional sobre otro campo diferente CAMPO2 (p.ej.) y segun ese valor, devolver una columna B o C.

Sé que lo podría hacer con Sotred Procedures facilmente, pero mi pregunta era si se pudiera hacer directamente en la sentencia SQL misma.

Gracias ;)

Paoti 25-09-2007 20:43:15

prueba ahcerlo como te digo.



Código SQL [-]
SELECT ID1, (case campo1.....) DESCRIPCION FROM TABLA1 WHERE 
UNION
SELECT ID1,( campp2 ) DESCRIPCION FROM TABLA1 WHERE


dodne el filtro del segundo select debe ser excluyente a la condicion del campo1 where, es decir meter la cindicion del case en el segundo filtro

es fácil




saludos


La franja horaria es GMT +2. Ahora son las 07:25:49.

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