Какой самый простой и простой способ сохранить два значения из двух разных операторов выбора?
У меня есть запрос, подобный следующему:
SELECT * FROM (
SELECT FIELD1 FROM (<SUB SELECT STATMENT>)
UNION ALL
SELECT FIELD2 FROM (<SUB SELECT STATMENT>))
Что я хотел бы, чтобысохраните значение из FIELD1 и FIELD2, чтобы позже я мог выполнить некоторое вычисление с ним, например, FIELD1 / FIELD2.Я пытался использовать курсор, но столкнулся с проблемами.И это слишком сложно для выбора заявления.Любые предложения?
ОБНОВЛЕНИЕ:
Набор результатов из моего текущего запроса выглядит следующим образом.
SUM_OF_MESSAGES | LABEL
----------------------------
145323 | PUSHED
2633267 | RECEIVED
|
Я бы хотел взять значения из первых двух строк и разделить их.Например.145323/2633267
Другими словами, есть ли способ разделить FIELD1 на FIELD2 из моего запроса выше?
ДРУГОЕ ОБНОВЛЕНИЕ:
Вот мой запрос:
SELECT SUM(R.MESSAGES) AS SUM_OF_MESSAGES, CASE WHEN R.LABEL = 1 THEN 'PUSHED' WHEN R.LABEL = 2 THEN 'RECEIVED' END AS LABEL FROM (
SELECT SUM(Q.MESSAGES) AS "MESSAGES", 1 LABEL FROM (
SELECT USER_LOGIN,
EVENT_MSG,
ROW_LST_UPD_TS,
COMPONENT_NAME,
REGEXP_SUBSTR (SUBSTR (EVENT_MSG, INSTR (EVENT_MSG, ' ', 1, 1), INSTR (EVENT_MSG, ' ', 1, 1)), '[0-9]+') AS "MESSAGES"
FROM EVENT_MGT.EVENT_LOG
WHERE ROW_LST_UPD_TS BETWEEN (TRUNC (:DATEINPUT) - 1) + 5 / 86400 AND (TRUNC (:DATEINPUT)) + 5 / 86400
AND EVENT_ID = 101
AND COMPONENT_NAME LIKE '%Web ICE Downloader.exe%'
GROUP BY COMPONENT_NAME,
USER_LOGIN,
EVENT_MSG,
ROW_LST_UPD_TS
ORDER BY ROW_LST_UPD_TS ) Q
UNION ALL
SELECT SUM(Q.MESSAGES) "MESSAGES", 2 LABEL FROM (
SELECT USER_LOGIN,
EVENT_MSG,
ROW_LST_UPD_TS,
COMPONENT_NAME,
REGEXP_SUBSTR (SUBSTR (EVENT_MSG, INSTR (EVENT_MSG, ' ', 1, 1), INSTR (EVENT_MSG, ' ', 1, 1)), '[0-9]+') AS "MESSAGES"
FROM EVENT_MGT.EVENT_LOG
WHERE ROW_LST_UPD_TS BETWEEN (TRUNC (:DATEINPUT) - 1) + 5 / 86400 AND (TRUNC (:DATEINPUT)) + 5 / 86400
AND EVENT_ID = 100
AND COMPONENT_NAME LIKE '%Web ICE Downloader.exe%'
GROUP BY COMPONENT_NAME,
USER_LOGIN,
EVENT_MSG,
ROW_LST_UPD_TS
ORDER BY ROW_LST_UPD_TS ) Q ) R
GROUP BY R.LABEL
Вот мой набор результатов:
SUM_OF_MESSAGES | LABEL
----------------------------
145323 | PUSHED
2633267 | RECEIVED
|
Я хотел бы разделить два числа в одном операторе выбора.Пожалуйста, помогите.