插入并选择查询。...聚合多行数据

时间:2018-10-25 02:25:27

标签: sql oracle11g oracle-sqldeveloper

我在oracle中有一个特殊的要求,在表1中有以下数据。我需要对table1的column3中具有相同的No和日期的值求和,并按table2所示插入数据。

有没有一种方法可以在查询中使用插入和选择来实现此要求?

表1

1 | 5/7/2013  | 10
1 | 5/7/2013  | 30
1 | 5/7/2013  | 50
1 | 6/28/2015 | 5
1 | 6/28/2015 | 70
1 | 6/28/2015 | 10
2 | 1/9/2016  | 60
2 | 1/9/2016  | 70
2 | 1/9/2016  | 80

表2

1 | 5/7/2013  | 90
1 | 6/28/2015 | 85
2 | 1/9/2016  | 210

1 个答案:

答案 0 :(得分:0)

这里是例子。

create table c_table (
    c1 number,
    c2 DATE,
    c3 number);

create table c_table_2 (
    b1 number,
    b2 DATE,
    b3 number
);

insert into c_table values (1, to_date('5/7/2013', 'MM/dd/YYYY'), 10);
insert into c_table values (1, to_date('5/7/2013', 'MM/dd/YYYY'), 50);
insert into c_table values (1, to_date('6/28/2015', 'MM/dd/YYYY'), 5);
insert into c_table values (1, to_date('6/28/2015', 'MM/dd/YYYY'), 70);
insert into c_table values (1, to_date('6/28/2015', 'MM/dd/YYYY'), 10);
insert into c_table values (2, to_date('1/9/2016', 'MM/dd/YYYY'), 60);
insert into c_table values (2, to_date('1/9/2016', 'MM/dd/YYYY'), 70);
insert into c_table values (2, to_date('1/9/2016', 'MM/dd/YYYY'), 80);

commit;

insert into c_table_2 select c1, c2, sum(c3) from c_table group by c1, c2;

commit;

select * from c_table_2;

enter image description here

请让我知道这是否适合您