년도별 급여 구하기 0 3 693

by 김철수 [SQL Query] [2019.05.29 11:46:35]


안녕하세요.

급여정보는 분기단위로 존재하며 해당 년도에 수령한 급여의 합을 구하고 싶습니다.

- 기간이 중복될 경우 하나의 값만 가져오되 종료년월 큰것 우선. 5,6행 처럼 7~9월이 중복되었을 경우 6번행으로 사용

  시작년월 종료년월 급여
1 201801 201803 5000
2 201801 201806 7000
3 201804 201809 9000
4 201901 201903 1000
5 201904 201909 6000
6 201907 201912 8000

 

원하는 결과는 아래와 같습니다.

  년도 급여
1 2018 5000+9000
2 2019 1000+8000
by 마농 [2019.05.29 13:54:43]

음. 자료도 이상하고,
이상한 자료를 보정하는 기준도 모호하네요.
2019년도는 2분기(4월~6월) 자료가 사라지게 되네요?
2018년도는 1,2 행도 겹치고 2,3행도 겹치네요.
종료일 큰거 기준으로 보면 3행 하나만 남아야 할 수도 잇구요.
종료일 큰거 기준으로만 보면 안될 것 같고 방정식 풀듯이 풀어야 할 것 같은데요.
2018 년도는 그래도 짝이 맞아 방정식이 풀리지만
2019 년도는 안풀리는 문제네요.


by 김철수 [2019.05.29 20:58:06]

제가 봐도 이상한것 같긴 합니다.

데이터가 정상적으로 들어온다면 1~3, 4~9, 10~12 이렇게 기간이 겹치지 않아야 하지만

테이블의 키가 시작년월/종료년월로 되어 있어서 비정상적인 데이터를 처리하려고 종료년월 큰것을 우선으로 했구요.

종료년월이 가장 큰 것을 기준으로는 가능할까요?

[종료년월이 가장 큰 것] + [종료년월이 가장 큰 것] 기간과 겹치지 않는 것들 (이것들끼리도 겹친다면 이것들 중 종료년월 큰것을 우선)

죄송합니다. 설명이 잘 안되네요..


by 마농 [2019.05.29 22:12:16]

오류자료를 쿼리로 보정하는게 맞는지 모르겠네요? 보정 규칙을 정하기도 애매하고.
전체 자료가 몇건인지? 그중 겹치는게 몇건인지 모르겠으나?
겹치는 자료 엑셀로 받아서 수작업으로 자료를 정리하는게 맞지 않나 싶네요.
2018년도는 보시다 시피 규칙에 의해 정리가 가능하지만
2019년도 자료는 어떤 규칙을 세우든 정확한 정리가 아닌 오류 회피 밖에 안됩니다.
이런 자료가 만들어 지기 전의 원시데이터(월별 급여)는 없는지?

정해주신 규칙을 적용하는 것도 까다롭지만
납득이 갈만한 규칙이라면? 쿼리를 만들어 보려고 시도는 해보겠지만.
오류가 뻔히 보이는 납득하기 힘든 규칙으로 쿼리를 만들 수는 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입