У меня есть запрос, который включает несколько столбцов, созданных в операторе выбора, и мне нужно добавить эти столбцы, чтобы получить третий столбец, а затем использовать два таких суммированных столбца, чтобы получить их процентное изменение.
У меня есть один запрос для этого, но он очень длинный, поэтому нужен способ написать простой запрос.
SELECT
EId,
ROUND(SUM(CASE
WHEN
(CASE
WHEN
MONTH(SYSDATE()) = 1
THEN
(MONTH(firstRecognizedDate) = 12
AND YEAR(firstRecognizedDate) = YEAR(SYSDATE()) - 1)
WHEN
MONTH(SYSDATE()) != 1
THEN
(MONTH(firstRecognizedDate) = MONTH(SYSDATE()) - 1
AND YEAR(firstRecognizedDate) = YEAR(SYSDATE()))
END)
AND fcra = 0
THEN
dd.donationAmtLocal
ELSE 0
END)) AS currMonthNFC,
ROUND(SUM(CASE
WHEN
(CASE
WHEN
MONTH(SYSDATE()) = 1
THEN
(MONTH(firstRecognizedDate) = 12
AND YEAR(firstRecognizedDate) = YEAR(SYSDATE()) - 1)
WHEN
MONTH(SYSDATE()) != 1
THEN
(MONTH(firstRecognizedDate) = MONTH(SYSDATE()) - 1
AND YEAR(firstRecognizedDate) = YEAR(SYSDATE()))
END)
AND fcra != 0
THEN
dd.donationAmtLocal
ELSE 0
END)) AS currMonthFC
FROM x,y,z
where a,b,c
groupby EId
Таблица x, y, z содержит данные, относящиеся к тому, что есть в запросе, на основании некоторого условия. У меня есть похожие столбцы для разных условий, и мне нужна сумма всех таких столбцов вместе с процентным изменением для двух различных условий, как упомянуто выше. Мне нужен вывод в другом столбце.
Мне нужна сумма nfc и fc для двух или трех условий, одно из которых указано выше, а затем процентное изменение двух условий.