我无法确定以下是否可行。我想在另一个数据库的一个数据库中运行更新语句。我知道我可以保存查询并从master数据库运行它,但我认为下面的内容是可能的
UPDATE tblOne
INNER JOIN tblTwo
ON tblOne.[TID] = tblTwo.TID
SET tblTwo.PC = [tblOne].[PC]
from tblOne in 'C:\DB.mdb' ;
非常感谢任何帮助
答案 0 :(得分:1)
根据MSDN Documentation,IN
子句仅在与SELECT
语句(即选择查询),INSERT INTO
语句(即附加查询)一起使用时才兼容或SELECT INTO
语句(即Make Table查询) - 它不能用作UPDATE
语句的一部分。
我建议您将tblOne
导入到您打算执行UPDATE
查询的数据库中作为链接表 - 这也将导致使用{{1}的性能提高}。clause。
要链接表格,请从外部数据功能区标签的导入面板中选择访问数据库,然后选择从向导中链接选项:
表格关联后,您的IN
语句将变为:
UPDATE
答案 1 :(得分:0)
我认为您只需要反转您所写的内容,因为您要更新的表需要成为主表。
尝试:
UPDATE tblTwo
INNER JOIN tblOne ON tblOne.[TID] = tblTwo.TID
SET tblTwo.PC = [tblOne].[PC] ;
请注意,如果没有where子句,您将更新所有行。