Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 22
gluglu Va por buen camino
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
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 25-09-2007
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 22
Paoti Va por buen camino
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
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
  #3  
Antiguo 25-09-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 22
gluglu Va por buen camino
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
__________________
Piensa siempre en positivo !
Responder Con Cita
  #4  
Antiguo 25-09-2007
Avatar de Paoti
Paoti Paoti is offline
Miembro
 
Registrado: may 2003
Ubicación: Monterrey. N.L., México
Posts: 612
Poder: 22
Paoti Va por buen camino
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
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás...

análisis de información
análisis y diseño de sistemas

Paoti Rios Reséndiz
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
sentencia case... patorecalde Oracle 2 07-08-2007 21:55:57
CASE o IFF en SQL dark_c SQL 3 13-01-2007 21:07:33
Query Anidado Ricsato SQL 4 06-11-2006 22:58:26
Select anidado erika.martinez SQL 2 02-02-2006 13:19:57
el USES UNIT anidado puede causar problemas? pepe2000 Varios 3 19-12-2003 17:34:22


La franja horaria es GMT +2. Ahora son las 02:00:08.


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
Copyright 1996-2007 Club Delphi