2017-08-07 3 views
0

私はあなたの助けを必要としてくださいすることができません、私はSQLで次のクエリ(SAP ASE)を持っている:SUM操作SQL

SELECT 
    DC.DIM_DATE.DATE_ID, 
    DC.DIM_TIME.HOUR_ID, 
    DC.DIM_E_RAN_UCELL.RBS_ID, 
    DC.DIM_E_RAN_UCELL.UCELL_ID, 
    (SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestDchPsIntRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumFachPsIntRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestPsHsAdchRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestPsEulRabEstablish))/720 AS 'WCDMA_DATA_ERLANG' 
FROM 
    DC.DIM_DATE, 
    DC.DIM_TIME, 
    DC.DIM_E_RAN_UCELL, 
    DC.DC_E_RAN_UCELL_RAW 
WHERE 
    (DC.DC_E_RAN_UCELL_RAW.HOUR_ID=DC.DIM_TIME.HOUR_ID and DC.DC_E_RAN_UCELL_RAW.MIN_ID=DC.DIM_TIME.MIN_ID) 
    AND (DC.DC_E_RAN_UCELL_RAW.DATE_ID=DC.DIM_DATE.DATE_ID) 
    AND (DC.DC_E_RAN_UCELL_RAW.OSS_ID=DC.DIM_E_RAN_UCELL.OSS_ID) 
    AND (DC.DC_E_RAN_UCELL_RAW.RNC=DC.DIM_E_RAN_UCELL.RNC_ID) 
    AND (DC.DC_E_RAN_UCELL_RAW.UtranCell=DC.DIM_E_RAN_UCELL.UCELL_ID) 
    AND 
    (
    DC.DIM_DATE.DATE_ID IN ('2017-08-02') 
    AND 
    DC.DIM_E_RAN_UCELL.RBS_ID IN ('DN1U0441') 
) 
GROUP BY 
    DC.DIM_DATE.DATE_ID, 
    DC.DIM_TIME.HOUR_ID, 
    DC.DIM_E_RAN_UCELL.RBS_ID, 
    DC.DIM_E_RAN_UCELL.UCELL_ID; 

出力がこれです:

DATE_ID HOUR_ID RBS_ID UCELL_ID WCDMA_DATA_ERLANG 
8/2/2017 0 DN1U0441 DN1U0441A0 0.0222 
8/2/2017 0 DN1U0441 DN1U0441A1 0.0138 
8/2/2017 0 DN1U0441 DN1U0441B0 0 
8/2/2017 0 DN1U0441 DN1U0441B1 0 
8/2/2017 0 DN1U0441 DN1U0441C0 0 
8/2/2017 0 DN1U0441 DN1U0441C1 0.0472 
8/2/2017 1 DN1U0441 DN1U0441A0 0.0555 
8/2/2017 1 DN1U0441 DN1U0441A1 0.0166 
8/2/2017 1 DN1U0441 DN1U0441B0 0 
8/2/2017 1 DN1U0441 DN1U0441B1 0 

私がしようとしています私を助けてください、いくつかのTOTALのような行だけの一時的な列WCDMA_DATA_ERLANGに結果からすべてのデータを持っているが、私はそれを行うカント:そのような

何か:

DATE_ID HOUR_ID RBS_ID UCELL_ID WCDMA_DATA_ERLANG  TOTAL 
8/2/2017 0 DN1U0441 DN1U0441A0 0.0222   0.2795 
8/2/2017 0 DN1U0441 DN1U0441A1 0.0138 
8/2/2017 0 DN1U0441 DN1U0441B0 0 
8/2/2017 0 DN1U0441 DN1U0441B1 0 
8/2/2017 0 DN1U0441 DN1U0441C0 0 
8/2/2017 0 DN1U0441 DN1U0441C1 0.0472 
8/2/2017 1 DN1U0441 DN1U0441A0 0.0555 
8/2/2017 1 DN1U0441 DN1U0441A1 0.0166 
8/2/2017 1 DN1U0441 DN1U0441B0 0 
8/2/2017 1 DN1U0441 DN1U0441B1 0 

答えて

0

選択文全体からもう一度選択してください。

select DATE_ID, HOUR_ID, RBS_ID, UCELL_ID, WCDMA_DATA_ERLANG, sum(WCDMA_DATA_ERLANG) as total 
from(
SELECT 
    DC.DIM_DATE.DATE_ID, 
    DC.DIM_TIME.HOUR_ID, 
    DC.DIM_E_RAN_UCELL.RBS_ID, 
    DC.DIM_E_RAN_UCELL.UCELL_ID, 
    (SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestDchPsIntRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumFachPsIntRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestPsHsAdchRabEstablish)+SUM(DC.DC_E_RAN_UCELL_RAW.pmSumBestPsEulRabEstablish))/720 AS 'WCDMA_DATA_ERLANG' 
FROM 
    DC.DIM_DATE, 
    DC.DIM_TIME, 
    DC.DIM_E_RAN_UCELL, 
    DC.DC_E_RAN_UCELL_RAW 
WHERE 
    (DC.DC_E_RAN_UCELL_RAW.HOUR_ID=DC.DIM_TIME.HOUR_ID and DC.DC_E_RAN_UCELL_RAW.MIN_ID=DC.DIM_TIME.MIN_ID) 
    AND (DC.DC_E_RAN_UCELL_RAW.DATE_ID=DC.DIM_DATE.DATE_ID) 
    AND (DC.DC_E_RAN_UCELL_RAW.OSS_ID=DC.DIM_E_RAN_UCELL.OSS_ID) 
    AND (DC.DC_E_RAN_UCELL_RAW.RNC=DC.DIM_E_RAN_UCELL.RNC_ID) 
    AND (DC.DC_E_RAN_UCELL_RAW.UtranCell=DC.DIM_E_RAN_UCELL.UCELL_ID) 
    AND 
    (
    DC.DIM_DATE.DATE_ID IN ('2017-08-02') 
    AND 
    DC.DIM_E_RAN_UCELL.RBS_ID IN ('DN1U0441') 
) 
GROUP BY 
    DC.DIM_DATE.DATE_ID, 
    DC.DIM_TIME.HOUR_ID, 
    DC.DIM_E_RAN_UCELL.RBS_ID, 
    DC.DIM_E_RAN_UCELL.UCELL_ID) 
group by DATE_ID, HOUR_ID, RBS_ID, UCELL_ID, WCDMA_DATA_ERLANG 
+0

は –

+0

はすでにこれを固定声明「付近に正しくない構文GROUP」によって私に、グループ内の最後の行に構文エラーを与えている、おかげで、この私を助ける:D –