如何通过多个查询添加两个创建的列。

时间:2019-01-17 06:35:32

标签: mysql sql

我有一个查询,其中包含在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的总和,然后给出两个条件的百分比变化。

0 个答案:

没有答案