Oracle - Select CASE en Oracle

 
Vista:

Select CASE en Oracle

Publicado por Marchello (1 intervención) el 21/01/2005 21:21:06
Hola a todos. 2 cosas . 1ra necesito una sentencia en Oracle que sea parecida al CASE de SQL. 2da Necesito un select que me muestre un 'Y' si hay datos en otra Tabla y no 'N' si no hay. Por cualquier ayuda muy agradecido.
Marce
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Select CASE en Oracle

Publicado por Alejandro César (189 intervenciones) el 24/01/2005 15:04:46
Siempre es bueno que al hacer una pregunta indiquen la versión del motor o la herramienta con la que trabajan porque las soluciones pueden ser diferentes de acuerdo a la versión.

1. Un ejemplo para tu primera petición usando motor 9.2 (te recomiendo que te inscribás en otn.oracle.com, ahí tendrás acceso a documentación en línea y a muchos recursos valiosos de forma gratuita, este ejemplo lo tomé del sitio de OTN , pero no podrás verlo s no estás registrado http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96590/adfnsprt.htm#13339):

SELECT CASE
WHEN day IN
('Monday','Tuesday','Wednesday','Thursday','Friday')
THEN 'weekday'
WHEN day in
('Saturday','Sunday')
THEN 'weekend'
ELSE 'unknown day' END
FROM DUAL;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Más...

Publicado por Alejandro César (189 intervenciones) el 24/01/2005 15:12:59
Para tu segundo pedido, espero te sirva (siempre con motor 9.2):
SELECT p.codprod, p.numpol, NVL((SELECT 'S' FROM kx_poliza k WHERE k.idepol = p.idepol), 'N') hay_datos
FROM poliza_t p
WHERE p.codprod = 'V'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Select CASE en Oracle

Publicado por Rick (1 intervención) el 26/01/2005 15:03:20
Marchello:

Ignoro que es exactamente lo que quieras hacer, pero viendo la respuesta de Alejandro, te acerco una que seguramente va con cualquier version de base. Para la pregunta 1:

Select decode(DIA
,'Lunes'
,'Diasem'
,'Martes'
,'Diasem'
,'Miercoles'
,'Diasem'
,'Jueves'
,'Diasem'
,'Viernes'
,'Diasem'
,'Sabado'
,'Finsem'
,'Domingo'
,'Finsem'
,'OTROS-DESCONOCIDO')
from tabla;

Con respecto a la pregunta dos, se me ocurre algo como lo siguiente:

Usar una funcion que busque en la tabla 2 por ese valor y si lo encuentra, retorne 'S', y sinó, retorne 'N'...

Salu2
Rick
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar