两种方法,一是利用临时表,先把所有记录都添加到临时表,然后从临时表里面汇总出数据保存到DB1,大概SQL如下:
SELECT FROM DB1 UNION SELECT FROM DB2 INTO TEMP TABLE DB_TMP;
DELETE FROM DB1;
INSERT INTO DB1 SELECT 字段,SUM(值) FROM DB_TMP GROUP BY 1
方法二是编写程序,定义游标,循环修改,逻辑结构如下:
FOREACH SELECT FROM DB2 INTO REC
UPDATE DB1 SET VALUE=VALUE+RECVALUE WHERE KEY=REC,KEY
END FOREACH
说得具体一点,是不是像这样:假如一个表有字段:a,b,c都是数据类型,c的值为a+b你往数据库里插入一条数据a=1,b=1数据库自动计算c=2并保存在下来?如果是这样写个触发器就可以解决了如果数据库里有现成的数据,你写一条update语句:update table_name set c=a+b也可以
我不知道你需要hour_id 的总数还是总和,下面用子查询可以求出hour_id 的和。
select sum(hour_id ) , count(hour_id ) from
(
select hour_id,
TICKET_FAMILY,
sum(case when hour_id in(10,11,12) then total_in else 0 end) as total_in,
sum(case when hour_id in(10,11,12) then total_out else 0 end) as total_out
from tmo_od_flow_stats_mg
where gathering_date between to_date('2015-01-05','yyyy-mm-dd') and to_date('2015-01-05','yyyy-mm-dd')
group by hour_id,
TICKET_FAMILY
) t
以上就是关于多个数据库的值相加全部的内容,包括:多个数据库的值相加、如何用数据库求和,并添加到数据库中去、在数据库中怎么求出表的数据,并能求出每列的总和怎么用SQL实现呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)