Mi primera recomendación es hacer una función en PLSQL que haga la respectiva evaluación. Me parece una consulta demasiado compleja para un resultado tan simple.
Sin embargo utilzando case en vez de decode
Código SQL:
Ver originalSELECT CASE
WHEN
(
SELECT COUNT(*)
FROM
ALARMAS_USUARIOS ALUAUX
WHERE
ALUAUX.IDEALP = 1
AND ALUAUX.IDEALA = 82
)
+
(
SELECT COUNT(*)
FROM
ALARMAS_OFICINAS ALOAUX
WHERE
ALOAUX.IDEALP = 1
AND ALOAUX.IDEALA = 82
) > 0
THEN
'0'
ELSE
'1'
END "CONTIENE REGISTROS"
FROM dual;
He escuchado que el case es el reemplazo elegante de decode. en rendimiento puede ser mejor.
Nos cuentas