회원 정보 중 동명이인인 사람들만 찾는 쿼리문
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 |
'안돼니? 야 나두' 카테고리의 다른 글
mssql DBCP 설정 (0) | 2016.10.17 |
---|---|
이미지 마우스 오버시 투명한png 덮어씌우기 (0) | 2016.02.29 |
[MSSQL] 날짜데이터 원하는 것만 뽑아내기 (0) | 2015.08.07 |
[MSSQL] 숫자를 날짜형식으로 변환하기 (0) | 2015.05.20 |
CTS 테스트 (0) | 2014.12.19 |