为什么这个sql更新查询不起作用?

时间:2010-05-25 00:41:57

标签: sql

我有一个包含5,000(table1)行的表。目前,其中3,000个充满了数据。其余值当前为空。在一个单独的表(table2)中,我有剩余的2,000行数据。我只是尝试获取table2中的值并将它们放在table1中,但此语句不起作用:

Update table1
  Set field1 = (Select field1 
                  From table2 
                 Where table1.id = table2.id) 
Where Exists(Select field1 
               From table2 
              Where table1.id = table2.id)

看起来这应该工作,但我从Base得到一个错误,我正在使用的db程序只是说错误附近“”:语法错误...任何帮助?谢谢!

2 个答案:

答案 0 :(得分:2)

您可以尝试使用加入。我习惯在T-SQL中这样做,但我相信语法会相同或相似。

Update Table1
JOIN Table2 ON Table1.id = Table2.id
SET Table1.value = Table2.value

答案 1 :(得分:1)

尝试在Exists(Select之间添加空格。