SQL Server-从一行中提取数据并更新另一行

SQL Server-从一行中提取数据并更新另一行,sql,sql-server,Sql,Sql Server,我在SQL server中有一个表,其中包含以下行和列(a-code、Desc、Length和B-code) A代码描述长度B代码 A100乡村-3D 25 A100 A100空55 B100 **在第一行中,A代码=B代码 **在第二个A代码中,B代码和Desc为空 我要做的是用第一行的Desc值更新第二行(A-code B-code)的Desc列,其中A-code=B-code 因此,我的最终表格结果如下 A代码描述长度B代码 A100乡村-3D 25 A100 A100Rural-3D55

我在SQL server中有一个表,其中包含以下行和列(a-code、Desc、Length和B-code)

A代码描述长度B代码

A100乡村-3D 25 A100

A100空55 B100

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

**在第二个A代码中,B代码和Desc为空

我要做的是用第一行的Desc值更新第二行(A-code B-code)的Desc列,其中A-code=B-code

因此,我的最终表格结果如下

A代码描述长度B代码 A100乡村-3D 25 A100

A100Rural-3D55 B100

请帮忙

谢谢

更新a
设置a.[Desc]=b.[Desc]
从我的表A
a.[a-Code]=B.[a-Code]和B.[a-Code]=B.[B-Code]上的内部联接MyTable B
其中a.[a-代码]a.[B-代码]
[Desc]为空;

更新a
设置a.[Desc]=b.[Desc]
从我的表A
a.[a-Code]=B.[a-Code]和B.[a-Code]=B.[B-Code]上的内部联接MyTable B
其中a.[a-代码]a.[B-代码]
[Desc]为空;

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;