음.. 예를들어
아이템 테이블이 지역구분으로 아이템이 있습니다..
시 | 구 | 동 | 아이템
테이블에 내용은
서울시 | 도봉구 | 방학1동 | 스타벅스
서울시 | 도봉구 | 방학1동 | 이디야
서울시 | 도봉구 | 방학1동 | 탐앤탐스
서울시 | 도봉구 | 방학2동 | 스타벅스
서울시 | 도봉구 | 방학2동 | 이디야
서울시 | 도봉구 | 방학2동 | 커피빈
서울시 | 노원구 | 쌍문1동 | 커피빈
서울시 | 노원구 | 쌍문2동 | 커피빈
서울시 | 노원구 | 쌍문3동 | 커피빈
...
이런식이면
도봉구에 있는 공통된 커피집을 찾는겁니다 '-'
쿼리를 어떻게 넣어야할까요
현재 예시된 테이블에서는
... where 방학1동 INTERSECT ... where 방학2동
하면 원하는 값이 나오지만 '동' 컬럼이 100개가 될수도 있을때의 쿼리를 어떻게 해야될지 궁금합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | WITH TT(시, 구, 동, 아이템) AS ( SELECT '서울시' , '도봉구' , '방학1동' , '스타벅스' FROM DUAL UNION ALL SELECT '서울시' , '도봉구' , '방학1동' , '이디야' FROM DUAL UNION ALL SELECT '서울시' , '도봉구' , '방학1동' , '탐앤탐스' FROM DUAL UNION ALL SELECT '서울시' , '도봉구' , '방학2동' , '스타벅스' FROM DUAL UNION ALL SELECT '서울시' , '도봉구' , '방학2동' , '이디야' FROM DUAL UNION ALL SELECT '서울시' , '도봉구' , '방학2동' , '커피빈' FROM DUAL UNION ALL SELECT '서울시' , '노원구' , '쌍문1동' , '커피빈' FROM DUAL UNION ALL SELECT '서울시' , '노원구' , '쌍문2동' , '커피빈' FROM DUAL UNION ALL SELECT '서울시' , '노원구' , '쌍문3동' , '커피빈' FROM DUAL ) SELECT 시,구,아이템 FROM TT GROUP BY 시,구,아이템 HAVING COUNT (*) > 1 ; |