1
Взгляните на начало этого запроса:результаты повторного использования с SQL функций
SELECT
sum(decode(REGEXP_COUNT(tpdd.domain, 'thedomain.com'), 1, tpdd.size, 0, 0)) SizeClient,
sum(decode(REGEXP_COUNT(tpdd.domain, 'thedomain.com'), 1, 0, 0, tpdd.size)) SizeThirdParty,
...
Есть ли способ, чтобы повторно использовать результаты «REGEXP_COUNT (tpdd.domain,„thedomain.com“)» функция ? Я должен надеяться, что сервер oracle достаточно умен, чтобы сделать это, но я не могу этого гарантировать, и, кроме того, код будет выглядеть лучше без повторного кода.
Вы могли бы, по-видимому, переместить вычисление в 'tpdd' подзапроса (или преобразовать' tpdd' запрос в вложенное представление и добавить, что). Однако я бы не ожидал, что какая-то неопределенная недавняя версия Oracle повторит вызов функции. –