Sql 查询表达式中的语法错误(缺少运算符)?

Sql 查询表达式中的语法错误(缺少运算符)?,sql,ms-access,Sql,Ms Access,您好,提前谢谢您的帮助 我得到一个错误:“查询表达式中的语法错误(缺少运算符)”,我不知道为什么。。。有什么想法吗 这是我的疑问: UPDATE table1 SET table1.country_name = table2.COUNTRY, table1.city = table2.CITY , table1.state = table2.STATE FROM ( table1 inner join table2 ON table2.SITE_ID = table1.Sit

您好,提前谢谢您的帮助

我得到一个错误:“查询表达式中的语法错误(缺少运算符)”,我不知道为什么。。。有什么想法吗

这是我的疑问:

 UPDATE 
table1

SET 
table1.country_name = table2.COUNTRY,
table1.city = table2.CITY ,
table1.state = table2.STATE 

FROM
 ( table1 
inner join
table2 
ON
 table2.SITE_ID = table1.SiteID )

where
table1.country_name is null;

丢失连接表周围的括号。此外,我会亲自为table1和table2创建一个别名,并在更新中引用table1别名。像这样:

UPDATE t1
SET 
  t1.country_name = t2.COUNTRY,
  t1.city = t2.CITY,
  t1.state = t2.STATE 
FROM table1 t1 
INNER JOIN table2 t2 ON t2.SITE_ID = t1.SiteID
WHERE
  t1.country_name is null;

丢失连接表周围的括号。此外,我会亲自为table1和table2创建一个别名,并在更新中引用table1别名。像这样:

UPDATE t1
SET 
  t1.country_name = t2.COUNTRY,
  t1.city = t2.CITY,
  t1.state = t2.STATE 
FROM table1 t1 
INNER JOIN table2 t2 ON t2.SITE_ID = t1.SiteID
WHERE
  t1.country_name is null;

在下列文件中没有FROM条款:


在下列文件中没有FROM条款:


使用UPDATE…FROM是完全可以接受的。请看这里的定义@John:该链接指向Transact-SQL(即MS SQL Server)。此问题标记为ms access。不同的(更有限的)语法。请参阅我答案中的链接。我正在使用Microsoft Access 2007。。。如果这与错误有关的话…@tyler:你正在使用Access这一事实确实是导致错误的原因。Access的版本在这种情况下不相关。使用UPDATE…FROM是完全可以接受的。请查看此处的定义@John:该链接指向Transact-SQL(即MS SQL Server)。此问题标记为ms access。不同的(更有限的)语法。请参阅我答案中的链接。我正在使用Microsoft Access 2007。。。如果这与错误有关的话…@tyler:你正在使用Access这一事实确实是导致错误的原因。Access的版本在这种情况下是不相关的。@tylercomp那么当我刚刚在我的SQL Server上运行测试场景时,您没有告诉我们一些事情。请检查标记。您询问的缺失信息是
ms access
@tylercomp,然后您在我刚刚在SQL Server上运行测试场景时忽略了告诉我们一些信息。请检查标记。您询问的缺失信息是
ms access