更新不更新所有寄存器

时间:2013-06-27 15:52:56

标签: sql-server-2008

我无法让这个工作,希望你可以伸出援助之手。

我有一个PROCESSING表,其中10357行。 然后我有另一个名为RESULTS的人,其中数据将在PROCESSING中被替换。

结果中的行是1262,两者中都有一个唯一的字段,我将用它来进行更新。 结果中的所有1262寄存器在PROCESSING中都有唯一字段。 因此,更新后应在PROCESSING中更新1262行。正确?

我构建了底部显示的查询。

运行查询后,我得到758 row(s) affected 我究竟做错了什么?我希望更新所有1262行。

提前致谢。

查询

UPDATE 
     PROCESSING 
SET
     FIELD1 = ATR.FIELD1, FIELD2 = ATR.FIELD2
FROM (
     SELECT         
        FIELD1, 
        FIELD2,
        UNIQUEFIELD
FROM
    RESULTS) AS ATR
WHERE
    PROCESSING.UNIQUEFIELD = ATR.UNIQUEFIELD

1 个答案:

答案 0 :(得分:1)

如果UNIQUEFIELDRESULTS实际上不是唯一的,那么就会发生这种情况。

PROCESSING中的相应行只会更新一次,而且不确定哪个源行会被使用。