0

我不知道如何解决这个问题。我有一个需要更新的表 (A),其结构如下:

CODE    VALUE
1       a
2       null
3       null
etc...

然后我有另一个表(B)具有相同的结构,但每个值集:

CODE    VALUE
1       a
2       b
3       c

我需要做的是将数据从表 B 复制到表 A,其中 A.CODE = B.CODE 但前提是未设置 A.VALUE。这样做的最佳查询是什么?因为我要处理 2000 行,所以不能手动完成。

我写了这样的东西,但它似乎不起作用:

update A set VALUE = 
    (select b.VALUEfrom B b, A a where b.CODE = a.CODE)

提前致谢!

4

2 回答 2

2
UPDATE a SET a.Value = b.Value
FROM TableA a
INNER JOIN TableB b ON (a.CODE = b.CODE)
WHERE a.VALUE IS NULL
于 2013-08-21T08:52:08.100 回答
1

检查 a.VALUE 是否设置为进行更新,并且仅从内部子句中的 B 表中选择(并使用外部子句中 A 的值):

update A
  set VALUE = (select B.VALUE from B where B.CODE = A.CODE)
  where VALUE IS NULL;
于 2013-08-21T08:51:29.263 回答