when values multiple ejemplos anidados sql plsql case-when

sql - values - ¿Cómo usar select con if condition en oráculo?



oracle case when null (2)

Mi requisito es obtener un número de una consulta compleja y verificar si num = desiredNum.

Si es igual a desiredNum, entonces debo realizar otro conjunto de declaraciones select,

¿Hay alguna manera de lograr esto en una consulta en lugar de escribir una función?

P.ej:

select case when val =2 then select val1 from table1 else ''false'' from (select val from table)

Es posible ??


No soy 100% Entiendo lo que necesitas. Pero creo que podrías usar una unión para hacer esto:

create table theValues ( theValue integer) create table table1 ( value1 integer) create table table2 ( value2 integer) INSERT INTO theValues (thevalue) VALUES (2) INSERT INTO table1 ( value1 ) VALUES (17) INSERT INTO table2 ( value2 ) VALUES (8) SELECT value1 from table1 WHERE EXISTS (SELECT theValue from theValues WHERE theValue != 2) UNION ALL SELECT value2 from table2 WHERE EXISTS (SELECT theValue from theValues WHERE theValue = 2)

En este caso, el "número mágico" es 2. Si la consulta de la tabla theValues ​​devuelve 2, obtendrá los resultados del resultado de la tabla 2, de lo contrario obtendrá el resultado de la tabla 1.

Saludos, Daniel


select case when val=2 then val1 else val end as thevalue from table1

Supongo que quisiste decir que val y val1 son ambos de la misma tabla, pero cuando val = 2, usa val1 en su lugar. Si en realidad tenía dos tablas, y ambas tienen solo un registro cada una, entonces

select case when val=2 then (select val1 from table1) else ''false'' end from table