1

我在 SQL Server 中有一个表,其中包含以下行和列(A 代码、Desc、长度和 B 代码)

A-代码描述长度 B-代码

A100 农村-3D 25 A100

A100 空 55 B100

** 在第一行 A 代码 = B 代码

** 在第二个 A-code<> B-Code 和 Desc 为 NULL

我想要做的是用 A-Code = B-Code 的第一行的 Desc 值更新第二行的 Desc 列(A-code<> B-Code)

这样我的决赛桌结果如下

A-代码描述长度 B-代码

A100 农村-3D 25 A100

A100 乡村-3D 55 B100

请帮忙 。

谢谢

4

1 回答 1

4
UPDATE a
SET a.[Desc] = b.[Desc]
FROM MyTable A
INNER JOIN MyTable B on a.[A-Code] = b.[A-Code] and b.[A-Code] = b.[B-Code]
WHERE a.[A-Code] <> a.[B-Code]
And a.[Desc] IS NULL;

SqlFiddle

于 2013-02-04T22:29:23.307 回答