2014-10-17 137 views
2

我试图写为SQL Server的更新查询,例如:SQL服务器更新

UPDATE x 
SET Col1 = y.Col1, 
     Col2 = y.Col2, 
     Col3 = y.Col3 
FROM 
    Table1 AS x 
INNER JOIN 
    Table2 AS y ON x.ID = y.ID 

,但我得到

Error: near "FROM": syntax error"

我看到了一个错误的答案类似相同的语法,但我不明白为什么我提前发现了Thanx错误

+0

我认为你需要'select * FROM Table1 AS x' – artm 2014-10-17 08:41:03

+0

尝试使用别名,如'x.C​​ol1'等 – christiandev 2014-10-17 08:51:09

+0

你的语法没有任何问题。 [它在SQL小提琴上运行良好](http://sqlfiddle.com/#!3/ec04a/1)。你使用的是什么版本的SQL Server?这是引发错误的确切查询吗? – GarethD 2014-10-17 08:52:18

回答

0

让我们试试这个:我没有测试下面的代码,所以请让我知道结果。谢谢

UPDATE x 
SET x.Col1 = y.Col1, 
     x.Col2 = y.Col2, 
     x.Col3 = y.Col3 
FROM 
    Table1 AS x 
INNER JOIN 
    Table2 AS y ON x.ID = y.ID 

希望它有帮助。

+0

我曾试过这个,仍然得到错误 – Dimitris 2014-10-17 09:32:49

+0

有趣,你得到的错误是什么?同样的错误? – Hatjhie 2014-10-17 09:42:05

+0

是的,同样的错误 – Dimitris 2014-10-17 10:06:27