강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

우편번호 검색 DB
작성자 : 13 김영철
등록날짜 : 2009.01.23 00:28
2,281
# 1에서 받은 파일을 데이터베이스에 Import (# 2)
※ ACCESS인 경우 "새로만들기 → 테이블가져오기", MS-SQL인 경우 "Import Data"를 통해 # 1에서 받은 엑셀파일을 Import 시킵니다.

# 3에서 새창을 통해 주소검색(찾기)페이지 작성.
※ 자바스크립트를 이용한 검색창 열기
입력 예 : <input type="text" name="dong"> ☞ 찾을 동 이름 입력 박스
버튼 예 : <a href="javascript:OpenZip()">[주소찾기]</a> ☞ 스크립트 함수명은 임의변경 가능

# 3에서 입력받은 dong 값을 가지고 # 2에서 Import 시킨 우편번호 테이블의 dong 필드를 비교하여,
※ 유사 단어 검색 구문 작성
"SELECT * FROM 테이블명 WHERE 검색대상 필드명 LIKE
'%"& dong(변수명) &"%'"

검색 내용을 출력하여, 사용자로 하여금 선택할 수 있게 해줍니다.
내용 비고
[111-111자동으로 입력될 주소 미입력 주소 ☜ 실제 출력 내용
[<%=레코드("zipcode")%>] <%=레코드("sido")%> <%=레코드("gugun")%> <%=레코드("dong")%> <%=레코드("bunji")%><%=레코드("sido")%><%=레코드("gugun")%><%=레코드("dong")%><%=레코드("bunji")%> ☜ 테이블의 필드

실제 출력된 주소를 사용자가 선택할 때, 스크립트를 이용하여 정보를 전달해 주어야 합니다.
위 내용으로 작성해본다면,
※ 만약 스크립트 오류가 발생한다면 이 부분을 먼저 살펴보세요.
<a href="javascript:InStrData('<%=레코드("zipcode")%>','<%=레코드("sido")%> <%=레코드("gugun")%> <%=레코드("dong")%>')">
[111-111] 자동으로 입력될 주소 미입력 주소</a>

스크립트의 function문에서,
function InStrData(zip,address){
opener.document.
회원가입서 폼이름.우편번호 input box name.value = zip;
//회원가입서의 우편번호 input box에 zip 변수의 값을 입력한다.
opener.document.회원가입서 폼이름.자동입력주소 input box name.value = address;
//회원가입서의 자동입력주소 input box에 address 변수의 값을 입력한다.
opener.document.회원가입서 폼이름.나머지주소 input box name.focus();
//입력할 나머지 주소 input box가 있다면 포커스를 이동시킨다.
window.close();
// 입력 후 주소검색 창 닫음
}
-------------------------------------------------------------------

E.M.에서 다음의 테이블을 만든다.

Zipnum


    Zip1  char(3)
    Zip2  char(3)
    Address  varchar(80)

 


Zipall


      A1  varchar(10)
  A2  varchar(15)
  A3  varchar(15)
  A4  varchar(40)
  A5  varchar(10)
  A6  varchar(15)
  A7  varchar(15)
  Zip_new char(6)
  Zip_old char(6)
  
압축을  풀고, 엑셀을 실행 한다.


엑셀의 데이터를 SQL로 전송하기


강원.xls를 연다.


데이터 영역만 블록 카피 후 새파일을 열어서 붙여넣기를 한다.


첫행에 행을 하나 추가해 둔다.(임포트시 필드로 처리 한다.)


sheet2,sheet3삭제


붙여넣기가된 새 파일을 저장한다.(강원도.xls)


데이터 베이스에서 임포트 한다.

 

텍스트 변환후 SQL로 전송하기


경기.xls를 열고 데이터 영역만 블러 설정 복사 / 새 파일을 열고 붙여넣기


sheet2sheet3삭제 / 다른 이름으로 저장 / 타입을 텍스트(탭으로 분리)로 선택


경기도.txt로 저장


SQL에서 Import

 

select count(*) from zipall
--현재 총 데이터 수 :

--우편번호를 구분해 보자

 


select substring(zip_new,1,3) from zipall

select substring(zip_new,4,3) from zipall

 

--헤딩처리 해서 우편번호를 나누어 보자, 비교를 위해 10개씩 보자
select top 10 zip_new from zipall
select top 10 앞=substring(zip_new,1,3),뒤=substring(zip_new,4,3) from zipall

 

--이제 zipall테이블의 데이터를 진짜 테이블인 zipnum으로 보내자, 필드 결합으로
insert zipnum(zip1,zip2,address)
select substring(zip_new,1,3),substring(zip_new,4,3),a1 + ' ' + a2 + ' ' + a3 + ' ' + a4 + ' ' + a5 + ' ' + a6 + ' ' + a7  from zipall


--결과 우편 번호만 입력되었고 주소는 모두가 null값이다.


--주소 영역만 결합으로 한꺼번에 보고 싶은데 ...
select 주소=a1 + ' ' + a2 + ' ' + a3 + ' ' + a4 + ' ' + a5 + ' ' + a6 + ' ' + a7  from zipall


--왜 null값이 나타 나는가?

 

--갯수가 문제인가? 두개 부터 시작해 본다.
select 주소=a1 + ' ' + a2 from zipall

select 주소=a1 + ' ' + a2 + ' ' + a3  from zipall

 

--여기부터는 실행이 이상 하다
select 주소=a1 + ' ' + a2 + ' ' + a3 + ' ' + a4  from zipall


--바로 NULL 에는 연산이 안되기에 ...

--그래서 일단은 null의 갑들을 공백 한칸으로 변경하려 한다.


--update zipall set a1=' ' where a1 is null
--update zipall set a2=' ' where a2 is null


update zipall set a3=' ' where a3 is null

update zipall set a4=' ' where a4 is null

update zipall set a5=' ' where a5 is null

update zipall set a6=' ' where a6 is null

update zipall set a7=' ' where a7 is null


--이제 실행
insert zipnum(zip1,zip2,address)
select substring(zip_new,1,3),substring(zip_new,4,3),a1 + ' ' + a2 + ' ' + a3 + ' ' + a4 + ' ' + a5 + ' ' + a6 + ' ' + a7  from zipall

--시간이 필요하며, 모든 데이터가 필드 조합이 되면서 옮겨지게 된다.

이제 검색을 해보자.
자신의 주소에서 (동)(읍)중이 하나만 입력으로 검색해보자

[출처] 웹디황용

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2415 [MSSQL] OPENROWSET 13 김영철 01.23 2959
2414 OpenRowSet 이용하여 엑셀파일 DB로 저장하기 13 김영철 01.23 3492
2413 MSSQL DBA GUIDE - 테이블 관리 13 김영철 01.23 2879
열람중 우편번호 검색 DB 13 김영철 01.23 2282
2411 [MSSQL] DB 생성 및 용량수정 13 김영철 01.23 3454
2410 웹프로그래밍 언어별 데이터베이스연결 (ASP편) 13 김영철 01.23 2930
2409 [SQL] 페이징 처리 13 김영철 01.23 2898
2408 [MSSQL] 그룹별 상위 n명 가져오기 예제 13 김영철 01.23 2711
2407 [MS SQL] 랜덤 추출 13 김영철 01.23 2592
2406 MS-SQL SERVER 2000 개론 [강력추천] 13 김영철 01.23 1984
2405 [SQL 2005 업그레이드 가이드] SQL Server 2005 설치 13 김영철 01.23 2625
2404 MSSQL 2005 Q&A 13 김영철 01.23 2860
2403 DBA라면 이 정도는 알고 있어야 하지 않을까요 !!! 13 김영철 01.23 1575
2402 검색 in 부분에대한 프로시져 처리법 13 김영철 01.23 2142
2401 [MSSQL]데이터베이스 옵션 설정 99 단국강토 01.12 3053
2400 set xact_abort on 사용시 주의점.(2) 99 단국강토 01.12 2898
2399 MSSQL 프로시져 만들기 99 단국강토 01.08 2093
2398 [MS-SQL]동적SQL을 만들때 유의사항-2 99 단국강토 01.08 1861
2397 [MS-SQL]동적SQL을 만들때 유의사항-1 99 단국강토 01.08 3682
2396 DBMS에 따른 날짜포맷 변환 99 단국강토 01.07 2307
2395 MSSQL 기본 접속 포트 1433 변경 및 서버 alias 사용 99 단국강토 01.07 3939
2394 MSSQL SERVER에서 접속 port 변경하기 99 단국강토 01.06 2886
2393 검색어 로그 리스트 뽑는 퀄리... 99 단국강토 01.06 1645
2392 T-SQL: Parameter Sniffing 쿼리 튜닝 99 단국강토 01.05 2180
2391 mssql 2005 [퀄리분석기 단축키설정] -SSMS 99 단국강토 01.05 2650
2390 퀄럼이름 쉽게 가져오기 99 단국강토 01.03 2989
2389 MSSQL 내장 함수 목록 99 단국강토 01.03 2149
2388 동적 쿼리의 해결사 sp_executesql vs. exec 99 단국강토 01.02 2950
2387 MsSql 날짜 함수 99 단국강토 01.02 2044
2386 SQL Server에서 글로벌 변수 구현하기 99 단국강토 12.30 1970
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취