오라클 DB SQL문 질문

5월 20일조회 102

안녕하세요, 오라클 DB 관련해서 질문있습니다. TEMP01 테이블에 TEMP02 일부 데이터를 중복된 데이터를 제외한 것만 저장을 합니다. 질문은 TEMP02 테이블에 연락처(CONTACT)와 TEMP01 테이블에 동일한 연락처 데이터가 있을 때 해당 데이터만 제외하고 저장하는 방법이 무엇인지 궁금합니다. 아래는 제가 구성한 SQL문입니다. INSERT INTO TEMP01 (CONTACT) SELECT A.CONTACT FROM TEMP02 A WHERE A.CAL_CD = '2' AND A.VISIT_DATE = '20230519' AND CONTACT IS NOT NULL GROUP BY A.TEMP003;

질문을 추천하시나요?

답변 1

달레님의 프로필 사진

WHERE 절 안에 TEMP01 테이블과 TEMP02 테이블 간에 중복된 CONTACT 값이 있는지 추가로 확인을 해줘야 할 것 같습니다. 그리고 TEMP02 테이블의 CONTACT 칼럼에 UNIQUE 제약 조건이 없다면 DISTINCT 키워드를 사용하는 것이 안전할 것 같습니다.

1INSERT INTO TEMP01 (CONTACT)
2SELECT DISTINCT A.CONTACT
3FROM TEMP02 A
4WHERE A.CAL_CD = '2' AND A.VISIT_DATE = '20230519' AND A.CONTACT IS NOT NULL
5AND NOT EXISTS (SELECT 1 FROM TEMP01 B WHERE B.CONTACT = A.CONTACT);

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

기술, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

이메일로 가입하기