问题在于:
UPDATE school_new
SET school_new.school_id = school.[School ID],
school_new.school_address = school.[School Address]
FROM school_new
INNER JOIN school on school_new.school_name = school.[School Name]
我得到了这个错误,我无法弄清楚是什么问题
查询表达式'school中的语法错误(缺少运算符)。[School ID] FROM school_new 在school_new.school_name = school。[学校名称]
的INNER JOIN学校
答案 0 :(得分:4)
使用访问加入
的更新查询略有变化UPDATE school_new
INNER JOIN school on school_new.school_name = school.[School Name]
SET school_new.school_id = school.[School ID],
school_new.school_id = school.[School ID]
答案 1 :(得分:1)
在SET关键字之前列出表格并加入条件。
UPDATE school_new
INNER JOIN school
ON school_new.school_name = school.[School Name]
SET school_new.school_id = school.[School ID]
在您的示例中,您已经分配了两次school_new.school_id = school.[School ID]
;我只做了SET
一次。这一点很重要,因为如果列出两次,db引擎将抛出错误......
Duplicate output destination 'school_new.school_id'.
根据您问题的更新...
UPDATE school_new
INNER JOIN school
ON school_new.school_name = school.[School Name]
SET school_new.school_id = school.[School ID],
school_new.school_address = school.[School Address]
答案 2 :(得分:0)
我知道这听起来很奇怪但是尝试创建一个示例表,例如school_new_Test,并且不会给出带空格的名称,并且同样的方式创建重复的学校表,例如school_ORG_Test,其中也不提供空格然后尝试以上查询新表和没有空格的列名。
答案 3 :(得分:-3)
通常,'update'语句不能有连接。使用嵌套查询
update school_new
set school_new.school_id = (select school.[school ID]
from school where school.[school name] = school_new.school_name)