2
我正在尝试使用下面的查询来更新临时表中的多个记录,但不起作用。请告诉我更新多个记录的正确方法。在单个查询中更新多条记录MS SQL
UPDATE sarufoo
SET sarufoo.mobile = (SELECT mobile_no FROM logan)
WHERE sarufoo.homep IN (SELECT homep FROM logan);
我正在尝试使用下面的查询来更新临时表中的多个记录,但不起作用。请告诉我更新多个记录的正确方法。在单个查询中更新多条记录MS SQL
UPDATE sarufoo
SET sarufoo.mobile = (SELECT mobile_no FROM logan)
WHERE sarufoo.homep IN (SELECT homep FROM logan);
一个更合适的方法来实现这是会加入两个表:
UPDATE sf
SET sf.mobile = l.mobile_no
From
sarufoo sf
JOIN logan l ON sf.homep = l.homep
您必须将您正在更新的行与您正在选择的行相关联。否则你的子选择(SET)将返回它所有的每一行。
UPDATE sarufoo
SET sarufoo.mobile = (SELECT mobile_no FROM logan WHERE sarufoo.homep = logan.homep)
WHERE sarufoo.homep IN (SELECT homep FROM logan);
而且要小心,如果logan.homep可以为每个sarufoo.homep多个记录。 –