테이블이 아래와 같이 되어져 있는데요.
A TABLE
월 | 매출 | 매입 |
2015-01 | 2000000 | 1000 |
2015-02 | 40000 | 900 |
2015-03 | 10000 | 9000 |
2015-04 | 0 | 1000 |
2015-05 | 0 | 8000 |
2015-06 | 10000 | 0 |
재고금액을 산출을 하려고합니다.
기준은 매출이 없고, 매입이 있는 것을 재고로 보는데요.
결과값이 아래와 같이 나오게 하고 싶습니다.
B 결과
월 | 매출 | 매입 | 재고 |
2015-01 | 2000000 | 1,000 | 0 |
2015-02 | 40000 | 900 | 0 |
2015-03 | 10000 | 9,000 | 0 |
2015-04 | 0 | 1,000 | 1,000 |
2015-05 | 0 | 8,000 | 9,000 |
2015-06 | 10000 | 0 | 0 |
매출이 있는 월에 재고를 모두 할당을 하는 구조인데요.
재고부분을 만들려면 어떻게 쿼리를 만들어야 할까요?
A테이블을 가지고 B 결과를 내고 싶습니다.
Comment 5
-
이리
2015.03.19 10:23
-
taz2315
2015.03.19 11:50
매출이 0 인 달의 매입은 누적을 시키고 매출이 발생한 달에 그동안 쌓인 매입을 모두 털어버리는 구조입니다.
-
악마곰
2015.03.19 10:46
간단한 수불을 하시려는......
원하시는 방향을 너무 간단하게 설계 하시는게 아닌가 싶습니다...
원하시는 결과물인 쿼리 보다도
수불에 대해서 최소한의 입고, 출고에 대한 프로세스 설계가 선행이 되어야 할 것 같습니다.
또한 수불에 대한 내역을 가져 갈 것인지도 고려 하셔야 할것 같습니다.
-
taz2315
2015.03.19 11:46
말씀하신것 처럼 실물이 왔다 갔다하고 단가가 있는것들에 대해서는 입출고와 계산서를 고려해서 구현을 했는데요.
인건비등으로 해서 단가를 맞출수 없는 부분이 있더라구요. 그래서 그런 부분은 통으로 그냥 구현하려구요.
-
Terry
2015.03.19 17:16
음..분명히 현업에서 차후 요청이 들어올듯한데요?
전기재고.당기입고.당기출고.당기재고
단가의 경우..최종단가 기준으로 할지
총평균단가로 갈지..
고려해야할 사항이 많은데..
시스템 개발후에 차후 변경하려면
해당공수가 더 들어갈 듯 합니다..
사견이니 그냥 참고만 하세요..
-- 쿼리 시작
with A As
(
Select '2015-01' As month, 2000000 As sale, 1000 As ibgo Union All
Select '2015-02' As month, 40000 As sale, 900 As ibgo Union All
Select '2015-03' As month, 10000 As sale, 9000 As ibgo Union All
Select '2015-04' As month, 0 As sale, 1000 As ibgo Union All
Select '2015-05' As month, 0 As sale, 8000 As ibgo Union All
Select '2015-06' As month, 10000 As sale, 0 As ibgo
)
,B As
(
Select
a.month As month
,a.sale As sale
,a.ibgo As ibgo
,(
Case When a.sale = 0
Then a.ibgo
Else 0
End
) As jego
From A As a
)
Select
a.month As month
,a.sale As sale
,a.ibgo As ibgo
,(
Case When a.sale <> 0
Then 0
Else
(
Select
SUM(b.jego)
From B As b
Where b.month <= a.month
)
End
)
As jego
From B As a
Order By a.month Asc
--쿼리 끝
매출이 0이고 매입이 있는 달의 값을 누적시키신다는거죠?