2012-10-02 90 views
1

我在表中有兩行。我想在第三行中添加總價值。如何獲得兩行的總和

我的表是

SELECT 
CONTROLLED_PERCENTAGE, EL_CLIENT_ID, ID, 
    PERC_ADJ_UNITS_RECEIVED, PHY_DIG_OR_TOTAL, RECORDING_ID, 
    SUM_UNITS_RECEIVED, UNIT_TYPE 
FROM EL_CLIENT_REC_UNITS; 

我將有EL_CLIENT_ID,,PHY_DIG_OR_TOTAL將是 'PHY' 或 'DIG',我希望得到總。我想合計兩條記錄的SUM_UNITS_RECEIVEDPERC_UNITS_RECEIVED,其中UNIT_TYPES,EL_CLIENT_IDRECORDING_ID是相同的。然後我想將其作爲新行插入,具有相同的,RECORDING_ID,但是這次將PHY_DIG_OR_TOTAL設置爲'TOTAL';

+2

:你能分享一些數據嗎? –

回答

0

嘗試這樣:

SELECT 
    ID, 
    EL_CLIENT_ID, 
    RECORDING_ID, 
    UNIT_TYPE, 
    PHY_DIG_OR_TOTAL, 
    CONTROLLED_PERCENTAGE, 
    SUM_UNITS_RECEIVED, 
    PERC_ADJ_UNITS_RECEIVED 
FROM EL_CLIENT_REC_UNITS 

UNION ALL -- concatenate sets 

SELECT 
    NULL       AS ID, -- No ID for this row 
    EL_CLIENT_ID     AS EL_CLIENT_ID, 
    RECORDING_ID     AS RECORDING_ID, 
    UNIT_TYPE     AS UNIT_TYPE, 
    'TOTAL'      AS PHY_DIG_OR_TOTAL, 
    AVG(CONTROLLED_PERCENTAGE) AS CONTROLLED_PERCENTAGE, -- I don't know what to do with that 
    SUM(PERC_ADJ_UNITS_RECEIVED) AS PERC_ADJ_UNITS_RECEIVED, 
    SUM(SUM_UNITS_RECEIVED)  AS SUM_UNITS_RECEIVED 
FROM EL_CLIENT_REC_UNITS 
GROUP BY UNIT_TYPE, EL_CLIENT_ID, RECORDING_ID; 

嘗試谷歌GROUP BY SQL語句來了解更多關於本聲明。