I have two oracle table with the same columns I want to create a query over those two tables doing total by a column : Table 1 :
x
PRODUCTION_SYSTEM_ID CARD_TYPE TOTAL DATE_CREATION
-------------------- ---------- ---------- -------------
1 OPIC 1 28/09/18
1 IC 2 29/11/18
1 IC 1 27/09/18
Table 2 :
PRODUCTION_SYSTEM_ID CARD_TYPE TOTAL DATE_CREATION
-------------------- ---------- ---------- -------------
1 OPIC 1 28/09/18
1 IC 2 29/11/18
1 IC 2 27/09/18
I want to create a select query that allow to have one table with total calculated based on column card_type and date_creation
Query results should be : Table 3 :
PRODUCTION_SYSTEM_ID CARD_TYPE TOTAL DATE_CREATION
-------------------- ---------- ---------- -------------
1 OPIC 2 28/09/18
1 IC 4 29/11/18
1 IC 3 27/09/18
Advertisement
Answer
You need to put together with UNION ALL
and then GROUP BY
:
SELECT PRODUCTION_SYSTEM_ID
,CARD_TYPE
,SUM(TOTAL) TOTAL
,DATE_CREATION
FROM
(
SELECT PRODUCTION_SYSTEM_ID
,CARD_TYPE
,TOTAL
,DATE_CREATION
FROM TABLE1
UNION ALL
SELECT PRODUCTION_SYSTEM_ID
,CARD_TYPE
,TOTAL
,DATE_CREATION
FROM TABLE2
) S
GROUP BY
PRODUCTION_SYSTEM_ID
,CARD_TYPE
,DATE_CREATION