我有两个表table1,table2。这两个表都可以根据empID加入。
我在table1中有一个名为tabseqno的新列。我想用table2中的tabseqno更新table1的tabseqno。
UPDATE TABLE1 SET TABLE1.TABSEQNO =TABLE2.TABSEQNO
WHERE TABLE1.EMPID= TABLE2.EMPID AND TABLE2.GROUPID=99
答案 0 :(得分:0)
或者:
update table1 set table1.tabseqno =
( select table2.tabseqno from table2
where table2.empid = table1.empid
and table2.groupid = 99);
或:
update table1 set table1.tabseqno =
( select table2.tabseqno from table2
where table2.empid = table1.empid
and table2.groupid = 99)
where exists
( select table2.tabseqno from table2
where table2.empid = table1.empid
and table2.groupid = 99);
如果表1行没有匹配的table2行,则取决于您想要发生的事情(第一个语句将table1.tabseqno设置为null,第二个句子根本不会更新这些行。)
只有table2子查询只能为任何empid
返回最多1行时,两者都有效。