2015-11-04 82 views
0

我定义了SQL查询并且它在MySQL上运行时没有问题(我正在使用MySQL),但是当我试图在客户端站点上执行它时(它们使用SQL Server) 我得到“错误:'si'附近的语法不正确。“错误消息MySQL查询到SQL Server查询

希望有人可以帮助我定义正确的语法。

该查询以下:

update stepinstance si 
    inner join cesteplink l on si.id = l.stepinstance_id 
    inner join prompt p on si.prompt_id = p.id 
set si.principal_id = 29160180 
where l.case_id = 29179541 
    and si.principal_id = 1799409 
    and si.status = 'In Progress' 

回答

2

set必须是join条件之前。

update si 
set si.principal_id = 29160180 
from stepinstance si 
inner join cesteplink l on si.id = l.stepinstance_id 
inner join prompt p on si.prompt_id = p.id 
where l.case_id = 29179541 
and si.principal_id = 1799409 
and si.status = 'In Progress' 
+0

谢谢,它的工作原理。我使用松鼠运行quesrie,并且在投诉“来自”时感到困惑,我忽略并运行,并且更新记录 –