如何将数据从一列复制到另一列?

How to copy data from one column to another?

我正在尝试在具有缺失值的列中添加 属性 地址。

我使用下面的代码来识别具有相应 属性 地址的常见包裹 ID,因为相同的包裹 ID 也具有相同的 属性 地址。

select n.UniqueID, n.ParcelID, n.PropertyAddress, n2.UniqueID, n2.ParcelID, n2.PropertyAddress, IFNULL(n.PropertyAddress,n2.PropertyAddress) 
from Nashnew n 
join Nashnew n2 
on n.ParcelID = n2.ParcelID 
where n2.PropertyAddress =''
and n.UniqueID != n2.UniqueID 

我得到这个结果:

现在我想使用以下方法将 IFNULL(n.PropertyAddress,n2.PropertyAddress) 列中的数据添加到缺失的 属性 地址单元格中:

UPDATE Nashnew 
set propertyAddress = IFNULL(n.PropertyAddress,n2.PropertyAddress)
from Nashnew n 
join Nashnew n2 
on n.ParcelID = n2.ParcelID 
and n.UniqueID != n2.UniqueID 
where n2.PropertyAddress =''

但是,我得到了这个结果,其中所有行的所有 属性 地址都相同。

如何将正确的属性地址添加到

使用 UPDATE 语句中的代码,您实际上加入了 table Nashnew.
的两倍 您还应该检查 Nashnew 的更新副本的列 PropertyAddressnull 还是空的:

改为:

UPDATE Nashnew AS n
SET propertyAddress = n2.PropertyAddress
FROM Nashnew AS n2 
WHERE n.ParcelID = n2.ParcelID 
  AND n.UniqueID <> n2.UniqueID 
  AND COALESCE(n.PropertyAddress, '') = ''
  AND COALESCE(n2.PropertyAddress, '') <> '';