2

我正在尝试使用以下查询使用临时表更新表中的多条记录,但不起作用。请告诉我更新多条记录的正确方法。

UPDATE sarufoo 
SET sarufoo.mobile = (SELECT mobile_no FROM logan) 
WHERE sarufoo.homep IN (SELECT homep FROM logan);
4

2 回答 2

3

实现这一目标的一种更简洁的方法是连接两个表:

UPDATE sf
SET sf.mobile = l.mobile_no
From
    sarufoo sf
    JOIN logan l ON sf.homep = l.homep
于 2012-10-26T16:39:11.227 回答
0

您必须将您正在更新的行与您从中选择的行关联起来。否则,您的子选择(SET 之一)将返回它拥有的每一行。

UPDATE sarufoo 
SET sarufoo.mobile = (SELECT mobile_no FROM logan WHERE sarufoo.homep = logan.homep) 
WHERE sarufoo.homep IN (SELECT homep FROM logan);
于 2012-10-26T16:38:59.293 回答