如何UPDATE 多条满足条件的纪录(急!)如: 表1
a b c
1 1
2 1
3 2
4 2
5 2
6 2
7 3表2
b2 c2
1 2
2 5
3 6关联表1和表2的b 来更新表1 的 c
UPDATE后
得到表1a b c
1 1 2
2 1 2
3 2 5
4 2 5
5 2 5
6 2 5
7 3 6如何写语句啊?
a b c
1 1
2 1
3 2
4 2
5 2
6 2
7 3表2
b2 c2
1 2
2 5
3 6关联表1和表2的b 来更新表1 的 c
UPDATE后
得到表1a b c
1 1 2
2 1 2
3 2 5
4 2 5
5 2 5
6 2 5
7 3 6如何写语句啊?
(
a NUMBER(4),
b NUMBER(4),
c NUMBER(4)
);
INSERT INTO T16 (a, b) VALUES(1, 1);
INSERT INTO T16 (a, b) VALUES(2, 1);
INSERT INTO T16 (a, b) VALUES(3, 2);
INSERT INTO T16 (a, b) VALUES(4, 2);
INSERT INTO T16 (a, b) VALUES(5, 2);
INSERT INTO T16 (a, b) VALUES(6, 2);
INSERT INTO T16 (a, b) VALUES(7, 3);CREATE TABLE T17
(
b2 NUMBER(4),
c2 NUMBER(4)
);
INSERT INTO T17 VALUES(1, 2);
INSERT INTO T17 VALUES(2, 5);
INSERT INTO T17 VALUES(3, 6);UPDATE T16 SET c = (SELECT c2 FROM T17 WHERE b2 = b);SELECT * FROM T16;
结果:
merge into tb1 aa --fzq1表是需要更新的表
using fzq tb2 -- 关联表
on (aa.b=bb.b2) --关联条件
when matched then --匹配关联条件,作更新处理
update set
aa.c=bb.c2
好用 merge into