我有一个查询,其中包含在select语句中创建的几列,我需要添加这些列以获得第三列,然后使用两个这样的求和列来获得相同百分比的变化。
我对此有一个查询,但是它很长,因此需要一种编写简单查询的方法。
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的总和,然后给出两个条件的百分比变化。