2015-11-04 75 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,並且在投訴「來自」時感到困惑,我忽略並運行,並且更新記錄 –