I am trying to add Property Address in columns that have a missing value.
I use the below to identify common parcel IDs with corresponding property address since the same parcelIDs have the same PropertyAddress as well.
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
Now I want to add the data in column IFNULL(n.PropertyAddress,n2.PropertyAddress) to the missing PropertyAddress cells using the below:
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 =''
However, I get this result, where all the PropertyAddress are the same for all rows.
How do I add the correct PropertyAddress to the
CodePudding user response:
With your code in the UPDATE
statement you are actually joining twice the table Nashnew
.
Also you should check if the column PropertyAddress
of the updated copy of Nashnew
is null
or empty:
Change to this:
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, '') <> '';