从另一个表中的键更新外键

时间:2013-10-04 05:25:23

标签: sql ms-access-2007

我需要一个查询,它将从一个表(表2)中获取主键,并将其作为外键放在第二个表(表1)中。该数据库是Microsoft Access 2007.我尝试了以下查询,但它不起作用:

update table1 
set table1.table2ID = table2.ID
FROM table1  INNER JOIN  table2 on table1.name = table2.name

这两个表格如下:

表1:

ID  | table2ID  | Name
--------------------------
1   |           |   Name1   
2   |           |   Name2   
3   |           |   Name1    

表2:

ID    | Name
-----------------
1     |    Name1   
2     |    Name2    

我希望结果是:

表1:

ID  | table2ID  | Name
--------------------------
1   |       1   |   Name1   
2   |       2   |   Name2   
3   |       1   |   Name1    

2 个答案:

答案 0 :(得分:0)

试试这个:

update table1 
INNER JOIN table2 ON table1.name = table2.name
SET table1.table2ID = table2.ID

或者这个:

update table1, table2
SET table1.table2ID = table2.ID
WHERE table1.name = table2.name

让我知道哪一个最适合你。

答案 1 :(得分:0)

你可以试试这个:

更新TABLE1 set tabel2id = TABLE2.Id from TABLE1 s 内部联接TABLE2在u.name = s.NAME

它对我有用..