У меня есть запрос оракула, и часть его вычисляет некоторое значение, используя DECODE.Например:
SELECT ...,
(SELECT DECODE((SELECT 23 FROM DUAL),
0, null,
(SELECT 23 FROM DUAL))
FROM DUAL)
FROM ...
Здесь значение "23" вычисляется во время выполнения, и это довольно сложные объединения - несколько таблиц, используется PARTITION BY
и т. Д. Поэтому я хочу избежать выполнения одного и того же подзапроса, если значениене "0".Есть ли способ написать что-то вроде этого
SELECT ...,
(SELECT DECODE ((SELECT 23 FROM DUAL) as test,
0, null,
test)
FROM DUAL)
FROM ...