日期:2014-05-18 浏览次数:20402 次
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 3 B 33 C 333 D 300 E 500 F 700 (所影响的行数为 6 行) */ --更新: update 表一 set 列2 = (select m.列2 + m.列3 from 表二 m where m.列1 = n.列1) from 表一 n insert 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 3 B 33 C 333 D 300 E 500 F 700 (所影响的行数为 6 行) */ drop table 表一 , 表二