首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 汇总的有关问题向高手请问

2012-04-06 
sql 汇总的问题向高手请教有两张表,表一根据表二的内容进行汇总求和,如果在表一不存在的记录添加进行汇总。

sql 汇总的问题向高手请教
有两张表,表一根据表二的内容进行汇总求和,如果在表一不存在的记录添加进行汇总。
表一
列1列2
A0
B0
C0

表二
列1列2列3
A12
B1122
C111222
D100200
E200300
F300400

汇总后表一
列1列2
A3
B33
C333
D300
E500
F700
请高手帮忙了!给出一条SQL语句来实现!谢了

[解决办法]

SQL code
create table 表一(列1 varchar(10), 列2 int)insert into 表一 values('A', 0)insert into 表一 values('B', 0)insert into 表一 values('C', 0)create table 表二(列1 varchar(10),列2 int,列3 int)insert into 表二 values('A', 1   ,2)insert into 表二 values('B', 11  ,22)insert into 表二 values('C', 111 ,222)insert into 表二 values('D', 100 ,200)insert into 表二 values('E', 200 ,300)insert into 表二 values('F', 300 ,400)go--查询select m.列1 , m.列2 + m.列3 列2 from 表二 m left join 表一 n on m.列1 = n.列1/*列1         列2          ---------- ----------- A          3B          33C          333D          300E          500F          700(所影响的行数为 6 行)*/--更新:update 表一 set 列2 = (select m.列2 + m.列3 from 表二 m where m.列1 = n.列1) from 表一 ninsert into 表一 select m.列1 , m.列2 + m.列3 列2 from 表二 m where not exists(select 1 from 表一 n where m.列1 = n.列1)select * from 表一/*列1         列2          ---------- ----------- A          3B          33C          333D          300E          500F          700(所影响的行数为 6 行)*/ drop table 表一 , 表二 

热点排行