오랜만에 질문 드리러 와서 게시판을 둘러 봤더니 2007년부터 찾아왔더라구요;
항상 그 자리에 변함없는 곳인 것 같아 올때마다 마음이 편한 것 같아요 :)
오늘도 질문할게 생겨서 어김없이 찾아 왔습니다 ^^;
DB MSSQL이구요~
발신자표시 서비스를 만들어 보았는데
고객TB과 전화수신목록TB가 나뉘어져 있어요
나중에 고객이 전화수신목록을 보고 싶을때
해당 수신번호로 고객정보가 있는지 없는지 확인해서 연동을 하려는 것인데요.
문제는, 고객TB에 휴대폰/집전화 이렇게 컬럼이 2개로 나뉘어져 있거든요.
------------------------------------------------------------------------------------
고객TB | 고객명,휴대폰,집전화,메모 .......
전화수신목록TB | 수신번호,발신번호,수신시간..........
------------------------------------------------------------------------------------
표시하고 싶은 것은 전화수신목록TB를 뿌려주는데
수신번호로 고객TB의 휴대폰과 집전화를 검색해서
휴대폰이나 집전화가 있을경우 해당 고객명을 출력 하고 싶거든요.
어떻게 하면 좋을지 감이 안잡히네요;
음...left 혹은 right 조인을 사용하면 될것 같은데요
예를 들면
아래와 같이 테이블이 있다고 하면
## 고객테이블
cust
cust_nm
hp_no
tel_no
memo
## 수신테이블
tel_recv
recv_no
send_no
send_time
## 쿼리문
select a.recv_no, a.send_no, a.send_time, a.cust_nm
from tel_recv a
left join cust b on (a.hp_no = a.recv_no or a.tel_no = a.recv_no)
--> 수신테이블을 기준으로 해서 고객테이블 left 조인하는겁니다.
좀더 쉽게 설명하면 아래와 같이 테이블 뒀다고 생각하고선
수신테이블(왼쪽) 고객테이블(오른쪽)
left 조인하면 왼쪽 데이터는 모두 나오고 오른쪽 데이터는 혹시 일치하는것이 있으면 나오게 하는겁니다.
자세한 내용은 left/right 조인과 관련된 내용 찾아보면 될것 같아요 ^^