1

我在从另一个表值更新表时遇到问题。

假设我有:

表A(键A,键B,字段A,字段B)

表 B(键 A、键 B、字段 A、字段 B、字段 C)

我想更新 TableA 中将表 B 中的值与 TableB 值进行比较的行。

我试过这样:

UPDATE TableA
SET FieldA = 
(
SELECT FieldA
FROM TableA W INNER JOIN TableB as V
    ON  W.keyA = V.keyA AND
        W.keyB = V.keyB
WHERE W.KeyA = V.KeyA AND
        W.keyB = V.KeyB AND 
) 
FROM TableA PK INNER JOIN TableB  AS I ON
TableA.keyA = TableB.keyA AND TableA.keyB = TableB.keyB
4

1 回答 1

4

您的查询非常复杂。你可以进一步简单地进入这个,

UPDATE  a
SET     a.fieldA = b.fieldA,
        a.fieldB = b.fieldB
FROM    TableA a
        INNER JOIN TableB b
            ON  a.keyA = b.keyA AND
                a.keyB = b.keyB
于 2013-04-02T09:11:33.897 回答