아래와 같이 주소 정보에서 구역(도/시/군/구/동) 정보를 추출 하려고 하는데요..
추출 데이터 일치(매핑)율이 80% 정도 밖에 안되네요..
일부 데이터는 Like 문만 사용하다 보니..일치 하는것 같은데도..
못 끌어 오는것도 있습니다.
또한 아래처럼 해 보니..성능이 안나오네요..
좋은 방법 있을까요? 속도 개선 및 일치(매핑)율도 올릴수 있는 방법
조언 부탁 드립니다.
- SQL Server Vesion : 2012 Standard.
// 주소 정보 테이블 : TB_Address
NO Address POST Area Area1 Area2 Area3 Area4
1 서울시 강남구 테헤란로 대치동 123 12345 - - - - -
2 서울시 강남구 테헤란로 역삼동 123 12346 - - - - -
3 서울시 강남구 테헤란로 삼성동 123 12347 - - - - -
// 구역 정보 테이블 // TB_Area
Area(구역) Area1(도/시) Area2(시) Area3(구/군), Area4(동)
서울 서울 서울시 강남구 대치동
강원 강원 원주시 명동
강원 강원 강원도 정선군 남면
경기 경기 수원시 팔달구 팔달동
경기 경기 수원시 권선구 권선동
Update TB_Address
set Area = Case When A.Address Like '%' + B.AREA2 + '%' Then B.Area
When A.Address Like '%' + B.AREA3 + '%' Then B.Area End,
Area1 = Case When A.Address Like '%' + B.AREA2 + '%' Then B.Area1
When A.Address Like '%' + B.AREA3 + '%' Then B.Area1 End,
Area2 = Case When A.Address Like '%' + B.AREA2 + '%' Then B.Area2
When A.Address Like '%' + B.AREA3 + '%' Then B.Area2 End,
Area3 = Case When A.Address Like '%' + B.AREA2 + '%' Then B.Area3
When A.Address Like '%' + B.AREA3 + '%' Then B.Area3 End,
Area4 = Case When A.Address Like '%' + B.AREA2 + '%' Then B.Area4
When A.Address Like '%' + B.AREA3 + '%' Then B.Area4 End
from TB_Address A,
TB_Area B
where A.ADDRESS LIKE '%' + B.AREA1 + '%' + B.AREA4 + '%'
|