CC、FF不是VO的字段,把CC-FF GG改为(SUM(V0.AA)+SUM(V0.BB))-(SUM(V0.DD)+SUM(V0.EE))
也就是:
SELECT 
SUM(V0.AA)+SUM(V0.BB) CC,
SUM(V0.DD)+SUM(V0.EE) FF,
(SUM(V0.AA)+SUM(V0.BB))-(SUM(V0.DD)+SUM(V0.EE)) GG
FROM VO;

解决方案 »

  1.   

    不错,这样是可以的,但是我不想这样做,我只是写了SQL语句的一小部分,像这样的SUM字段有几十个,那样的话我重写的太多了,还有没有其他的办法啊,谢谢你!
      

  2.   

    CC-FF 这里是无法使用的
    SUM(V0.AA)+SUM(V0.BB)-SUM(V0.DD)+SUM(V0.EE) GG
      

  3.   

    下面是我SQL语句原貌的一半:
    SELECT 0 MEISAI_KB,'合計' TOKUI_CD, '' TOKUI_RM,SUM(A.ZEN_ZAN_KN) ZEN_ZAN_KN,SUM(A.URIAGE_KN_1)+
        SUM(A.URIAGE_KN_2)+SUM(A.URIAGE_KN_3)+SUM(A.URIAGE_KN_4)+
        SUM(A.URIAGE_KN_5)+SUM(A.URIAGE_KN_6)+SUM(A.URIAGE_KN_7)+
        SUM(A.URIAGE_KN_8)+SUM(A.URIAGE_KN_9)+SUM(A.URIAGE_KN_10)+
        SUM(A.URIAGE_KN_11)+SUM(A.URIAGE_KN_12)+SUM(A.URIAGE_KN_13)+
        SUM(A.URIAGE_KN_14)+SUM(A.URIAGE_KN_15)+SUM(A.URIAGE_KN_16)+
        SUM(A.URIAGE_KN_17)+SUM(A.URIAGE_KN_18)+SUM(A.URIAGE_KN_19)+
        SUM(A.URIAGE_KN_20) URIAGE_KN,SUM(A.NYUKIN_KN_1)+
        SUM(A.NYUKIN_KN_2)+SUM(A.NYUKIN_KN_3)+SUM(A.NYUKIN_KN_4)+
        SUM(A.NYUKIN_KN_5)+SUM(A.NYUKIN_KN_6)+SUM(A.NYUKIN_KN_7)+
        SUM(A.NYUKIN_KN_8)+SUM(A.NYUKIN_KN_9)+SUM(A.NYUKIN_KN_10)+
        SUM(A.NYUKIN_KN_11)+SUM(A.NYUKIN_KN_12)+SUM(A.NYUKIN_KN_13)+
        SUM(A.NYUKIN_KN_14)+SUM(A.NYUKIN_KN_15) NYUKIN_KN,C.TEGATA_ZAN_KN,
        SUM(B.SHINYO_GENDO_KN) SHINYO_GENDO_KN,'' GROUP_RM,'' EIGYO_RM,SUM(A.SHOHIZEI_KN) SHOHIZEI_KN,ZEN_ZAN_KN+URIAGE_KN+SHOHIZEI_KN-NYUKIN_KN GEN_ZAN_KN,
        GEN_ZAN_KN+C.TEGATA_ZAN_KN SAIKEN_ZAN_KN,
        CASE WHEN SAIKEN_ZAN_KN>SHINYO_GENDO_KN THEN 'OVER'
        ELSE ''
        END AS OVER_KB
    FROM HJTOKURI A
    LEFT OUTER JOIN HMTOKUI B
         ON A.TOKUI_CD=B.TOKUI_CD
    LEFT OUTER JOIN
        (
        SELECT TOKUI_CD,SUM(TEGATA_KN) TEGATA_ZAN_KN
        FROM HTUKETEG
        WHERE TEGATA_KIJITSU_DT>=TO_CHAR(SYSDATE, 'YYYYMMDD')
        GROUP BY TOKUI_CD
        ) C
        ON A.TOKUI_CD=C.TOKUI_CD
      

  4.   

    SELECT CC,FF,CC-FF AS GG FROM (SELECT 
    SUM(V0.AA)+SUM(V0.BB) CC,
    SUM(V0.DD)+SUM(V0.EE) FF,
    FROM VO) A;
    只能这样了。