안돼니? 야 나두
[MSSQL] 2개의 테이블에서 중복 데이터만 찾는 쿼리문
bluesinger
2015. 4. 7. 14:06
회원 정보 중 동명이인인 사람들만 찾는 쿼리문
2개의 테이블중 키 값이 되는것은 MEMBER_CODE 뿐이고
회원명은 하나의 테이블에서만 가지고 있다.
MEMBER_INFO |
member_code |
member_name |
CUSTOMER_CREDIT |
member_code |
여기서 2개의 테이블에서 MEMBER_CODE 는 모두 존재하는 컬럼이기 때문에 중복을 찾아낼 수 있지만 MEMBER_INFO 의 MEMBER_NAME 은 MEMBER_INFO 에만 존재하는 컬럼이기 때문에 중복을 찾을 수 없다.
이를 해결하기 위해서 가상의 테이블로 만들어주는 WITH 를 사용하여 MEMBER_CODE 로 조인한 데이터 결과 값을 가상의 테이블로 만들어 중복 데이터를 찾는다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | with member_sell as ( select b.member_code, member_name from member_info a inner join customer_credit b on a.member_code = b.member_code group by b.member_code, member_name ) select * from member_sell where member_name in (select member_name from member_sell group by member_name having count(*) > 1 ) order by member_name asc | cs |