我有两个带有相同列的oracle表,我想对这两个表创建一个查询,通过一个列进行总计:表1:
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 表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 我想要创建一个select查询,允许根据列card_type和date_creation计算一个表的总数
查询结果应如下:表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 发布于 2018-12-04 15:35:15
您需要将UNION ALL和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_CREATIONhttps://stackoverflow.com/questions/53616315
复制相似问题