2016-06-20 45 views
0

我有以下表更新與內部聯接提高語法錯誤

enter image description here

,我想更新表聯繫人,讓現場companyIdnewCompanyId表2

我試過下面的查詢:

UPDATE contacts 
SET contacts.companyId = table2.newComapnyId 
FROM contacts 
INNER JOIN table2 
ON contacts.contactId = table2.conatctId 

但我得到一個語法錯誤。我搜索了,並且據我所知,這是我應該編寫查詢的方式。

(請原諒的錯別字,在現實查詢我仔細檢查了,也沒有姓名及...的拼寫錯誤)

回答

2

在某些RDMS中,您不必指定FROM子句,因爲它已包含在語句中。試試這個:

UPDATE contacts c 
INNER JOIN table2 t 
ON c.contactId = t.conatctId 
SET c.companyId = t.newComapnyId 
+0

'SET'行必須是最後一行,那麼它應該工作。 – Andre

+0

@Andre Thx指出錯過了當發佈答案 –

+0

@andre時,你的評論和馬庫斯H的答案一起伎倆。你應該從中得出答案。 – MJH

-1

對於SQL Server

使用別名

UPDATE c 
SET c.companyId = t.newComapnyId 
FROM contacts c 
INNER JOIN table2 t 
ON c.contactId = t.conatctId 
+0

這對ms訪問不起作用。 – MJH