설명만으로는 석연치 않은 부분이 많은데요.
좀 더 다양하고 복잡한 예시자료로 질문해 주실 수 있나요?
원본 대비 출력 자료도 표형태로 보여주세요.
예를 들면 (가 나 다) 에 (10, -10, 20, -20) 이 있다면?
합해서 0 이 되는 묵음은 하나로 합쳐지고
(0, 0) 이 되면 중복인가요?
출력은 어떤 형태로 해야 하는지?
만약, (가 나 다) 에 (10, -10, -10, 10, 10) 이 있다면?
(0, 0, 10) 이 되는 건가요?
이런 자료는 중복인가요? 아닌가요?
출력은 어떤 형태로 해야 하는지?
(라 마 바) 엔 (10, 10) 이라 중복이라 출력인데?
출력은 한번만 하는지 두번 다 하는지?
만약 (라 마 바) 에 (10) 이 1건 뿐이라면?
이건 중복인가요? 아닌가요?
출력은 어떤 형태로 해야 하는지?
네 마농님 안녕하세요.
Aa bb cc칼럼이 동일할때 dd가 10 이있고 여기서 그대로 마이너만 붙은 -10이존재하는건은 제외입니다. 이건 중복아님
즉, 합산이 0이여도 10, -4, -6 이런것도 합산해도 0이지만 이건 중복포함.
*데이타
AA BB CC DD
가 나 다 10
가 나 다 -10
가 나 다 20
라 마 바 10
라 마 바 10
출력 라마바 10
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
*데이타
AA BB CC DD
가 나 다 10
가 나 다 -4
가 나 다 -6
가 나 다 10
라 마 바 10
라 마 바 10
출력 가나다10
라마바10
WITH t AS ( SELECT '가' aa, '나' bb, '다' cc, 10 dd FROM dual UNION ALL SELECT '가', '나', '다', -10 FROM dual UNION ALL SELECT '가', '나', '다', 20 FROM dual UNION ALL SELECT '라', '마', '바', 10 FROM dual UNION ALL SELECT '라', '마', '바', 10 FROM dual UNION ALL SELECT '사', '아', '자', 10 FROM dual UNION ALL SELECT '사', '아', '자', -4 FROM dual UNION ALL SELECT '사', '아', '자', -6 FROM dual UNION ALL SELECT '사', '아', '자', 10 FROM dual UNION ALL SELECT '차', '카', '타', 10 FROM dual UNION ALL SELECT '차', '카', '타', -10 FROM dual UNION ALL SELECT '차', '카', '타', -10 FROM dual UNION ALL SELECT '차', '카', '타', 10 FROM dual UNION ALL SELECT '차', '카', '타', 10 FROM dual UNION ALL SELECT '타', '파', '하', 10 FROM dual UNION ALL SELECT '타', '파', '하', 10 FROM dual UNION ALL SELECT '타', '파', '하', 20 FROM dual UNION ALL SELECT '타', '파', '하', 20 FROM dual ) SELECT aa, bb, cc, dd FROM (SELECT aa, bb, cc , SUM(dd) dd FROM (SELECT aa, bb, cc, dd , ROW_NUMBER() OVER(PARTITION BY aa, bb, cc, dd ORDER BY 1) rn FROM t ) GROUP BY aa, bb, cc, ABS(dd), rn ORDER BY aa, bb, cc, ABS(dd), rn ) -- WHERE dd != 0 GROUP BY aa, bb, cc, dd HAVING COUNT(*) > 1 ORDER BY aa, bb, cc, dd ;