date custname inqty outqty
20150101 하하하 1 0
20150101 히히히 0 1
DB에 이렇게 들어가 있는데 누적 재고수량을 구하려고 합니다.
select
date, custname, inqty, outqty,
(select inqty - outqty from #stock where date <= a.date and custname = a.custname) as stock
from #stock a
이렇게 쿼리를 날리면
date custname inqty outqty stock
20150101 하하하 1 0 1
20150101 히히히 0 1 -1
이렇게 나와요..
아래처럼 나와야 하는데
date custname inqty outqty stock
20150101 하하하 1 0 1
20150101 히히히 0 1 0
--->
indate가 다르고, custname 값을 빼면 정상적으로 나오네요.
그런데 inqty와 outqty가 같은날 이루어 질수 있는데 이런 경우 누적합계를 어찌 계산하나요
Comment 3
-
착한넘
2015.01.20 11:05
-
악마곰
2015.01.20 14:28
재고에서는 - 재고가 있을수 없겠지요...
기본적으로 재고 출고 전에는 재고 여부를 체크 하는 로직이 있어야 할것 같습니다.
그리고 위 프로세스에서 기본적으로 기초재고량이 있어야 문제가 없을 것 같습니다...
수불 프로세스에 대해 먼저 보시기를...
-
맨즈밤
2015.01.21 09:21
만약 같은날에 수불 row간에 입력순서가 정해져 있지 않다면 , 입고를 먼저 우선순위 잡는것도 방법일수 있을듯 합니다.
입력오류나 업무상실수가 아니라면 재고는 - 가 있을수없고 , 보통 "몇일자 재고" 이렇게 자료를 보지 , "몇일자 몇시 재고" 이렇게
보지는 않거든요. 다만 단가(이동평균가) 문제가 걸리게되면 순서에 따라 평균단가가 바뀌기 때문에 확인하셔야 합니다.
같은날 입력을 하더라도 입력된 순서가 있을것 같습니다. 순서가 될만한 컬럼이 없으신지요?
"순서 <= a.순서"를 추가하시면 될것 같습니다.