我正在尝试在MS Access DB上执行此SQL查询:
UPDATE WW_B
SET WW_B.WWtype_ID=1
INNER JOIN New_data
ON WW_B.StdNr = New_data.StdNr;
但是我收到以下错误:
[Microsoft] [ODBC Microsoft Access驱动程序]
表达式
1 INNER JOIN New_data on WW_B.StdNr = New_data.StdNr
中的语法错误(缺少运算符)。
我没有看到需要任何操作符的位置,因为我不使用任何括号或引号。
我也尝试了WWtype_ID='1'
和WWtype_ID="1"
并遇到了同样的错误。
我做错了什么?
答案 0 :(得分:1)
我遇到了同样的问题,在寻找答案时发现了这个问题。幸运的是,当我在工作中浏览一些Access查询时能够找到解决方案。
这只是另一种情况,MS Access在使用标准SQL语法时表现不佳。
其他答案不正确。您不需要FROM子句,Access只会给您相同的错误消息。遇到错误的地方是放置JOIN的地方。看起来很直觉,您将具有FROM ... JOIN ...但这是MS Access,使用SQL从来都不是直观的。
在Access中,UPDATE似乎代替了FROM。因此,您将JOIN语句添加到UPDATE子句的末尾。
UPDATE WW_B
INNER JOIN New_data
ON WW_B.StdNr = New_data.StdNr
SET WW_B.WWtype_ID=1;
如果需要,还可以在SET语句后添加WHERE子句。
答案 1 :(得分:-1)
在FROM
上使用INNER JOIN
时,您需要UPDATE
条款:
UPDATE WW_B
SET WW_B.WWtype_ID = 1
FROM WW_B
INNER JOIN New_data
on WW_B.StdNr = New_data.StdNr
答案 2 :(得分:-1)
您缺少FROM
子句
UPDATE WW_B SET WW_B.WWtype_ID=1 FROM <your table> INNER JOIN New_data on WW_B.StdNr = New_data.StdNr