꿈꾸는 개발자, DBA 커뮤니티 oracleclub.com
큐브리드강좌  :  오라클강좌  :  오라클팁  :  오라클사용자팁  :  오라클용어사전  :  오라클Q&A  :  오라클자료실  :  IT컬럼/소식  :  좋은글감동  :  방명록
통합검색 : Searched by NAVER
DB검색 :
모두펼치기 | 모두닫기

Oracle 질문과 답변 oracleclub.com
유일하지 않은 값 하나 말고는 join할 수 있는 필드가 하나도 없을 경우 어떻게 해야 제대로 된 selete가 될까요??
손님 : 2009-07-02 22:01  

테이블을 만들면서 너무 기초적인 실수를 해버려서 지금 엄청난 곤혹을 치르고 있는 오라클 초보입니다.

사이트내의 콘텐츠 중에 문자발송서비스가 있는데요.
발송서비스 업체를 바꾸면서 그쪽에서 요구하는 테이블을 만들면서
제가 관리하고 있는 사이트의 문자발송내역 테이블과 join할 수 있는 key를 만들어
두지않은 상태에서 서비스를 다시 오픈해버렸습니다.

오늘 날짜별로 발송한 count를 내려고 join하려고 보니
전화번호 말고는 전~~~혀 join할 수 있는 key가 없읍니다..

그렇다고 전화번호를 중심으로 join할 수 없는게 
저희사이트의 발송내역테이블에는 그날 전화번호가 1건이 있는데 
발송없체의 발송테이블에는 2건이 있거나,
아님 우리 사이트의 테이블에는 2건이 있는데 발송업체의 테이블에는 1건이 있는 식입니다...


저희 사이트 전용 예약발송내역 A테이블

발송날짜시간

전화번호

발송여부 

20090605153045

0115551004

Y

20090623091531

0167774989

Y

20090623091531

0167774989

Y

20090627123022

0192227588

Y


발송업체 요구로 DB에 만들어준
발송업체용 발송내역 B테이블

PK

발송날짜시간

전화번호

1

20090605153045

0115551004

2

20090623091531

0167774989

3

20090623091531

0167774989

4

20090627123022

0192227588

**발송업체란 sms발송용 java머신을 제공한 업체입니다.**
A테이블은 문자를 예약해두고 발송할때 사용하는 테이블로 웹페이지가 일정시간 간격으로 리플래시 되도록
만들어두고, 리플래시했을때 발송여부가 Y가 아닌 정보가 있다면 레코드를 추출해서 B테이블에 저장시켜주면
java머신이 작동하면서 문자가 발송되는 식이라서 두 테이블의 발송시간도 서로 다릅니다.

진짜 한마디로 전화번호 말고는 전혀 값을 맞출 필드가 없는거죠..

생초보도 아닌데 어쩌다 이런 엄청난 짓을 저질렀는지...T-T

어떻게.. 정확한 count를 낼 수있는 join을 할 수 있는 방법이 없을까요???

 


 

조회수 102,  추천수 0
등록 글답변 글수정 목록보기
이름 쓰기
비밀번호
도움 주시는 곳
oraclejava