-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCleaningSQLQueries.sql
More file actions
122 lines (83 loc) · 2.92 KB
/
Copy pathCleaningSQLQueries.sql
File metadata and controls
122 lines (83 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
-- Data cleaning SQL queries
Select *
From dbo.housingTable
-- Updating table with new Date format to Standarize sale date
Select convertedSaleDate
From dbo.housingTable
ALTER TABLE dbo.housingTable
Add convertedSaleDate Date;
Update dbo.housingTable
Set convertedSaleDate = CONVERT(Date, SaleDate)
ALTER TABLE dbo.housingTable
DROP COLUMN SaleDate;
/* Populating Property Address field where it's null
with the porperty address of another field wher both fields
have the same parcel ID */
Select a.ParcelID, a.PropertyAddress, b.ParcelID, b.PropertyAddress, ISNULL(a.PropertyAddress, B.PropertyAddress)
From dbo.housingTable a
JOIN dbo.housingTable b
on a.ParcelID = b.ParcelID
AND a.[UniqueID ] <> b.[UniqueID ]
Where a.PropertyAddress is null
Update a
SET PropertyAddress = ISNULL(a.PropertyAddress, B.PropertyAddress)
From dbo.housingTable a
JOIN dbo.housingTable b
on a.ParcelID = b.ParcelID
AND a.[UniqueID ] <> b.[UniqueID ]
Where a.PropertyAddress is null
-- Breaking Property Address into address and city columns using substring
Select
SUBSTRING(PropertyAddress, 1, CHARINDEX(',',PropertyAddress) -1) as Address,
SUBSTRING(PropertyAddress, CHARINDEX(',', PropertyAddress) + 1, LEN(PropertyAddress)) as Address
From dbo.housingTable
ALTER TABLE dbo.housingTable
Add PropertySplitAddress Nvarchar(255);
Update dbo.housingTable
Set PropertySplitAddress =SUBSTRING(PropertyAddress, 1, CHARINDEX(',',PropertyAddress) -1)
ALTER TABLE dbo.housingTable
Add PropertySplitCity Nvarchar(255);
Update dbo.housingTable
Set PropertySplitCity = SUBSTRING(PropertyAddress, CHARINDEX(',', PropertyAddress) + 1, LEN(PropertyAddress))
Select *
From dbo.housingTable
-- Breaking Owner Address into address, city and state columns using parcing
ALTER TABLE dbo.housingTable
Add OwnerSplitAddress Nvarchar(255);
Update dbo.housingTable
Set OwnerSplitAddress = PARSENAME(REPLACE(OwnerAddress, ',', '.'),3)
ALTER TABLE dbo.housingTable
Add OwnerSplitCity Nvarchar(255);
Update dbo.housingTable
Set OwnerSplitCity = PARSENAME(REPLACE(OwnerAddress, ',', '.'),2)
ALTER TABLE dbo.housingTable
Add OwnerSplitState Nvarchar(255);
Update dbo.housingTable
Set OwnerSplitState = PARSENAME(REPLACE(OwnerAddress, ',', '.'),1)
-- Unifying sold as vacant column, changinf Y to Yes and N to No
Update dbo.housingTable
SET SoldAsVacant =
CASE When SoldAsVacant='Y' Then 'Yes'
When SoldAsVacant='N' Then 'No'
ELSE SoldAsVacant
END
-- Removing duplicates using temp table
WITH RowNumCTE AS(
Select *,
ROW_NUMBER() OVER(
PARTITION BY ParcelID,
PropertyAddress,
SalePrice,
convertedSaleDate,
LegalReference
ORDER BY
UniqueID
) row_num
From dbo.housingTable
)
DELETE
From RowNumCTE
Where row_num > 1
--Deleting unused columns
ALTER TABLE dbo.housingTable
DROP COLUMN OwnerAddress, TaxDistrict, PropertyAddress