그룹 | 순번 | 잔여량 |
---|---|---|
A | 1 | 35 |
A | 2 | 40 |
그룹 순번별 수량이 각각 존재합니다.
그룹 | 20171201 | 20171202 | 20171203 | 20171204 | 20171205 | 20171206 | 20171207 | 20171208 | 20171209 | 20171210 |
---|---|---|---|---|---|---|---|---|---|---|
A | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
그룹 A의 일자별 사용량 그룹별 소모량만 있지 순번별로 분류되어 있지 않습니다. 테이블은 날짜를 열로 표시했지만
실제로 그룹,날짜,소모량 이렇게 구성된 테이블이라 보시면 됩니다.
조건 1.
그룹 | 순번 | 사용시작날짜 | 사용종료날짜 | 사용유무 |
---|---|---|---|---|
A | 1 | 20171201 | 20171207 | N |
A | 2 | 20171203 | 20171210 | N |
A | 3 | 20171101 | 20171130 | Y |
각 일자별 사용가능 일자가 있기 때문에 사용유무는 무시하고 해당 날짜에 해당 순번을 소모처리합니다.
만약 같은 날짜에 순번1,2가 다 사용가능 할 경우 순번이 빠른거부터 소모하고 빠른 순번이 0될때는 다음 순번을
소모시킵니다. 그 다음 순번이 존재하지 않을 시에 마지막 순번을 (-) 수량 처리시킵니다.
결과
그룹 | 순번 | 20171201 | 20171202 | 20171203 | 20171204 | 20171205 | 20171206 | 20171207 | 20171208 | 20171209 | 20171210 |
---|---|---|---|---|---|---|---|---|---|---|---|
A | 1 | 25 | 15 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
A | 2 | 40 | 40 | 40 | 35 | 25 | 15 | 5 | -5 | -15 | -25 |
조건 1.
그룹 | 순번 | 사용시작날짜 | 사용종료날짜 | 사용유무 |
---|---|---|---|---|
A | 1 | 20171201 | 20171205 | N |
A | 2 | 20171206 | 20171210 | N |
A | 3 | 20171101 | 20171130 | Y |
위와 조건이 같고 날짜별로 안겹칠 경우
결과
그룹 | 순번 | 20171201 | 20171202 | 20171203 | 20171204 | 20171205 | 20171206 | 20171207 | 20171208 | 20171209 | 20171210 |
---|---|---|---|---|---|---|---|---|---|---|---|
A | 1 | 25 | 15 | 5 | -5 | -15 | 0 | 0 | 0 | 0 | 0 |
A | 2 | 40 | 40 | 40 | 40 | 40 | 30 | 20 | 10 | 0 | -10 |
조건 2.
그룹 | 순번 | 사용시작날짜 | 사용종료날짜 | 사용유무 |
---|---|---|---|---|
A | 1 | 20171201 | 20171204 | N |
A | 2 | 20171206 | 20171210 | N |
A | 3 | 20171101 | 20171130 | Y |
사용가능 날짜 중 20171205 처럼 소모량은 있으나 날짜가 없을때는 사용유무에 Y인걸 소모처리 합니다.
만약 날짜가 해당처럼 하루만 빠지는게 아니고 아에 없으면 순번 3으로만 사용처리가 되야됩니다.
그룹 | 순번 | 20171201 | 20171202 | 20171203 | 20171204 | 20171205 | 20171206 | 20171207 | 20171208 | 20171209 | 20171210 |
---|---|---|---|---|---|---|---|---|---|---|---|
A | 1 | 25 | 15 | 5 | -5 | -5 | -5 | -5 | -5 | -5 | -5 |
A | 2 | 40 | 40 | 40 | 40 | 40 | 30 | 20 | 10 | 0 | -10 |
A | 3 | 0 | 0 | 0 | 0 | -10 | -10 | -10 | -10 | -10 | -10 |
조건 2.
그룹 | 순번 | 사용시작날짜 | 사용종료날짜 | 사용유무 |
---|---|---|---|---|
A | 1 | 20171101 | 20171104 | N |
A | 2 | 20171106 | 20171110 | N |
A | 3 | 20171101 | 20171130 | Y |
사용가능 날짜 중 20171205 처럼 소모량은 있으나 날짜가 없을때는 사용유무에 Y인걸 소모처리 합니다.
만약 날짜가 해당처럼 하루만 빠지는게 아니고 아에 없으면 순번 3으로만 사용처리가 되야됩니다.
그룹 | 순번 | 20171201 | 20171202 | 20171203 | 20171204 | 20171205 | 20171206 | 20171207 | 20171208 | 20171209 | 20171210 |
---|---|---|---|---|---|---|---|---|---|---|---|
A | 3 | -10 | -20 | -30 | -40 | -50 | -60 | -70 | -80 | -90 | -100 |
해당쿼리가 머리 속에서 전혀 떠오르지 않습니다.
조건 1, 조건 2 어느것도 해결을 못하고 있습니다.
도움 부탁드립니다.