将数据从一列复制到另一个 table 中的另一列,条件是另一列的值
Copy data from one column to another column in a different table conditioned on values of another column
我不是数据库专家,我在这里四处寻找类似问题的答案,但找不到解决这个特定问题的答案:
我有 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 的值 ?!
有人可以告诉我我做错了什么吗?
您应该加入表 1 和表 2:
'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
我不是数据库专家,我在这里四处寻找类似问题的答案,但找不到解决这个特定问题的答案:
我有 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 的值 ?!
有人可以告诉我我做错了什么吗?
您应该加入表 1 和表 2:
'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