-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSQLQuery1.sql
More file actions
121 lines (88 loc) · 3 KB
/
SQLQuery1.sql
File metadata and controls
121 lines (88 loc) · 3 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
Select*
From portfolio..NashvilleHousing
--Standardize Date Format
Select SaleDateConverted, CONVERT(date, SaleDate)
From portfolio..NashvilleHousing
ALTER TABLE NashvilleHousing
add SaleDateConverted Date;
Update NashvilleHousing
SET SaleDateConverted = CONVERT(date, SaleDate)
--Populate Property Address Data
Select*
From portfolio..NashvilleHousing
WHERE PropertyAddress is null
Select a.ParcelID, a.PropertyAddress, b.ParcelID, b.PropertyAddress, ISNULL(a.PropertyAddress, b.PropertyAddress)
From portfolio..NashvilleHousing a
JOIN portfolio..NashvilleHousing 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 portfolio..NashvilleHousing a
JOIN portfolio..NashvilleHousing b
on a.ParcelID = b.ParcelID
AND a.[UniqueID ] <> b.[UniqueID ]
WHERE a.PropertyAddress is null
--Breaking out Address
SELECT PropertyAddress
FROM portfolio..NashvilleHousing
SELECT
SUBSTRING(PropertyAddress, 1, CHARINDEX(',', PropertyAddress) -1) as Address
, SUBSTRING(PropertyAddress, CHARINDEX(',', PropertyAddress) +1, LEN(PropertyAddress)) as Address
FROM portfolio..NashvilleHousing
ALTER TABLE NashvilleHousing
add PropertySplitAddress nvarchar(255);
Update NashvilleHousing
SET PropertySplitAddress = SUBSTRING(PropertyAddress, 1, CHARINDEX(',', PropertyAddress) -1)
ALTER TABLE NashvilleHousing
add PropertySplitCity nvarchar(255);
Update NashvilleHousing
SET PropertySplitCity = SUBSTRING(PropertyAddress, CHARINDEX(',', PropertyAddress) +1, LEN(PropertyAddress))
SELECT OwnerAddress
FROM portfolio..NashvilleHousing
SELECT
PARSENAME(REPLACE(OwnerAddress, ',' , '.') ,3)
,PARSENAME(REPLACE(OwnerAddress, ',' , '.') ,2)
,PARSENAME(REPLACE(OwnerAddress, ',' , '.') ,1)
FROM portfolio..NashvilleHousing
ALTER TABLE NashvilleHousing
add OwnerSplitAddress nvarchar(255);
Update NashvilleHousing
SET OwnerSplitAddress = PARSENAME(REPLACE(OwnerAddress, ',' , '.') ,3)
ALTER TABLE NashvilleHousing
add OwnerSplitCity nvarchar(255);
Update NashvilleHousing
SET OwnerSplitCity = PARSENAME(REPLACE(OwnerAddress, ',' , '.') ,2)
ALTER TABLE NashvilleHousing
add OwnerSplitState nvarchar(255);
Update NashvilleHousing
SET OwnerSplitState = PARSENAME(REPLACE(OwnerAddress, ',' , '.') ,1)
SELECT Distinct(SoldAsVacant)
FROM portfolio..NashvilleHousing
--Remove Duplicates
WITH RowNumCTE AS(
SELECT*,
ROW_NUMBER() OVER(
PARTITION BY ParcelID,
PropertyAddress,
SalePrice,
SaleDate,
LegalReference
ORDER BY
UniqueID
) row_num
FROM portfolio..NashvilleHousing
--Order by ParcelID
)
SELECT*
From RowNumCTE
WHERE row_num > 1
Order by PropertyAddress
--Delete Unused columns
Select*
From portfolio..NashvilleHousing
Alter Table portfolio..NashvilleHousing
DROP COLUMN OwnerAddress, TaxDistrict, PropertyAddress
Alter Table portfolio..NashvilleHousing
DROP COLUMN SaleData