개발자

오라클 DB SQL문 질문

2023년 05월 20일조회 112

안녕하세요, 오라클 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 키워드를 사용하는 것이 안전할 것 같습니다.

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

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

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

또는

이미 회원이신가요?

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

실무, 커리어 고민이 있다면

새로운 질문 올리기

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