SELECT PRJ_CC_id
, PROJECT_COSTCENTER_NAME
, AREA_ID
, AREA_Name
, Activity_ID
, Activity_Name
, SUM(Total)
FROM(
(
SELECT PRJ_CC_id
, PROJECT_COSTCENTER_NAME
, AREA_ID
, AREA_Name
, Activity_ID
, Activity_Name
, (SUM(mon) + SUM(tue) + SUM(wed) + SUM(thu) + SUM(fri) + SUM(sat) + SUM(
sun)) Total
FROM tr_view_masterlogentry
WHERE USER_ID = 654321
AND work_year = 2010
GROUP BY PRJ_CC_id
, PROJECT_COSTCENTER_NAME
, AREA_ID
, AREA_Name
, Activity_ID
, Activity_Name
, mon
, tue
, wed
, thu
, fri
, sat
, sun
)
UNION
(
SELECT PRJ_CC_id
, PROJECT_COSTCENTER_NAME
, AREA_ID
, AREA_Name
, Activity_ID
, Activity_Name
, Tot_Amt Total
FROM tr_view_Exchange_loghours
WHERE USER_ID = 654321
AND TO_CHAR(adj_Date, 'yyyy') = 2010
GROUP BY PRJ_CC_id
, PROJECT_COSTCENTER_NAME
, AREA_ID
, AREA_Name
, Activity_ID
, Activity_Name
, Tot_Amt
)
)
GROUP BY PRJ_CC_id
, PROJECT_COSTCENTER_NAME
, AREA_ID
, AREA_Name
, Activity_ID
, Activity_Name;
В этом запросе, когда я его выполню, будет получено итоговое значение столбца «Итого» в функции суммы, когда значения обоих столбцов «Итого» в запросе объединения отличаются, как 31 и -2, а сумма равна 29 * 1002.*
но если значение обоих столбцов 'Total' в запросе объединения совпадает с 31 и 31, тогда в сумме будет показано только 31