2017-08-07 89 views
0

我需要你們的幫助,我在SQL(SAP ASE)以下查詢:無法做出和運算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語句中進行選擇。

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

是通過聲明給我在該組中的最後一行語法錯誤「附近有語法錯誤GROUP」 –

+0

已經解決了這個問題,謝謝,這幫助我:d –