两个表
table1(id, c1, c2) table2(id, bm, mc)
c1,c2的数据源来自table2的mc列,且c1 c2列中的内容完全一致(每行的数据都相等)。现在想把c1和c2变成其所对应mc的bm列。写sql语句
update table1
set table1.c1 = table2.bm
where table1.c2 = table2.mc
sql2008提示(下划线部分)无法绑定由多个部分组成的标示符 table2.bm table2.mc
这个问题完全是逻辑问题导致的。不是给table2加个中括号比如 [table2]就能解决的。
换个写法
udpate table1
set a.c1 = b.bm
from table1 a, table2 b
where a.c2 = b.mc
问题解决。