我不是一个数据库人,我在这里寻找类似问题的答案,但找不到解决这个问题的答案:
我有2个表 - 每个表有3列(PrimaryKey1,Table1Coln1,Table1Coln2,PrimaryKey2,Table2Coln1,Table2Coln2)。
我要做的是复制Table2Coln2中的值并将它们粘贴到Table1Coln2中,其中Table1Coln1& Table2Coln1是相等的。更复杂的是,两个表中的两个对应列中都有多个具有相同值的行。
我试过这个:
UPDATE Table1
SET Table1.Table1Coln2 = Table2.Table2Coln2
WHERE Table1.Table1Coln1 = Table2.Table2Coln1
当我运行查询时,会打开一个对话框,要求我输入Table2.Table2Coln2的值?!
有人可以告诉我这里我做错了吗?
答案 0 :(得分:1)
你应该加入Table1和Table2:
'Clasic'SQL(用于MySQL):
UPDATE Table1, Table2
SET Table1.Table1Coln2 = Table2.Table2Coln2
WHERE Table1.Table1Coln1 = Table2.Table2Coln1
MS Sql(在Access中使用):
UPDATE Table1 Inner Join Table2 On Table1.Table1Coln1 = Table2.Table2Coln1
SET Table1.Table1Coln2 = Table2.Table2Coln2