2011-04-15 81 views
1

你好,並提前感謝您的任何幫助。查詢表達式中的語法錯誤(缺少運算符)?

我收到一個錯誤:'語法錯誤(缺少運算符)在查詢表達式',我不知道爲什麼...任何想法?

這是我的查詢:

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; 
+0

失去了括號。 – 2011-04-15 20:40:47

回答

5

沒有FROM子句中UPDATE query in Access/Jet SQL

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

使用UPDATE .... FROM完全可以接受看這裏的定義http://msdn.microsoft.com/en-us/library/ms177523.aspx – 2011-04-15 20:49:22

+0

其實!它的工作,我忘了修復別名... – tylercomp 2011-04-15 20:52:46

+0

@約翰:該鏈接是Transact-SQL(即MS SQL服務器)。這個問題被標記爲ms-access。不同(更有限)的語法。請參閱我的答案中的鏈接。 – mwolfe02 2011-04-15 20:53:58

2

失去連接表周圍的括號。另外,我會親自爲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; 
+0

進行了這些更改...同樣的錯誤? – tylercomp 2011-04-15 20:49:07

+0

@tylercomp然後當我剛剛在SQL Server上運行一個測試場景時,你忽略了告訴我們一些事情。 – 2011-04-15 20:50:40

+0

檢查標籤。你問的關於缺少的信息是'ms-access'。 – mwolfe02 2011-04-15 20:54:52

相關問題