차감 수량 구하기

다초 2014.08.13 10:29 Views : 3321

 번호 

 판매

수량 

  과세1

수량

  과세2

수량

  과세1기준

수량 

  판매누적

수량 

  과세1기준

차감수량 

  과세1기준

총수량 

  과세1+2

기준총수량 

1

1

0

1

3

0

3

0

 (판매수량과 과세2수량이 같으면 과세2수량 표시)

2

2

1

0

3

1

2

0

(과세2수량이 없을경우 과세1수량의 합을 감산)

= 판매수량(2) - 과세수량(1) - 4번의 과세수량(1) = 0

3

2

0

0

3

3

0

2

 (=판매수량(2) - 6번의 과세수량(1) = 1

4

3

1

1

3

5

0

3

(판매수량(3) - 과세1수량은 앞에서

사용하였으므로 = 0

 , 과세1수량이  1 남아있으면 기준총수량은 2가됨

5

2

0

3

3

8

0

2

2

(과세2가 판매수량보다 클수 없으므로 2가됨)

6

1

1

0

3

10

0

1

1

(과세1수량은 앞에서 사용하였으므로 0이됨)

판매에 대한 과세1,과세2를 적용하여 과세1+2 기준총수량을 구하려고 합니다

기존에는 과세1기준을 총수량을 구해 사용하였는데

여기에 과세2의 로직을 더하여 구해야합니다

 

과세1기준총수량은 번호순으로 판매에서 과세1합(과세1기준수량)을 순차적으로 차감하여 구하였습니다

 

 

with Temp As
(
 Select 1 번호, 1 판매, 0 과세1, 1 과세2
 Union All Select 2, 2, 1, 0
 Union All Select 3, 2, 0, 0
 Union All Select 4, 3, 1, 1
 Union All Select 5, 2, 0, 3
 Union All Select 6, 1, 1, 0
) ,
res as
(
 select  번호, 판매, 과세1, 과세2,
   case when 판매>=0 then 판매 else 0 end+case when 과세1<0 then abs(과세1) else 0 end 판매수량,
   case when 판매<0 then abs(판매) else 0 end+case when 과세1>=0 then 과세1 else 0 end 과세수량
  from Temp
),
res1 as

 select SUM(과세1) 과세1기준수량 from res
) ,
res2 as
(
 select a.번호,  a.판매, a.과세1, a.과세2, SUM(isnull(b.판매수량 ,0)) 판매누적수량
  from res a
  left join  res b  on a.번호 > b.번호
 group by a.번호, a.판매, a.과세1, a.과세2
)
 
select a.번호, a.판매, a.과세1, a.과세2, 과세1기준수량, 판매누적수량,
  (case when (과세1기준수량 - 판매누적수량) < 0 then  0 else (과세1기준수량 - 판매누적수량)  end )  차감수량, 
  (case when a.판매 - (case when (과세1기준수량 - 판매누적수량) < 0 then  0 else (과세1기준수량 - 판매누적수량)  end) < 0
            then 0
            else a.판매 - (case when (과세1기준수량 - 판매누적수량) < 0 then  0 else (과세1기준수량 - 판매누적수량)  end)
        end) 과세1총수량
from res2 a , res1 b

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 1245
8122 [수정]통계관련 날짜중복제거하는법이 혹시 있을까요? + convert 관련 질문있습니다. [3] 아싸헛스윙 2014.08.18 2412
8121 C++을 이용해서 SQL server DB를 업데이트 하는 방법을 질문드립니다. [1] 서윤후 2014.08.16 3624
8120 데이터 형식 변환에 따른 index 질문드립니다 [10] 별난사람 2014.08.16 2720
8119 누적집계쿼리 문의 [1] devil5538 2014.08.14 3583
8118 sql server agent 시작이 안되요. [1] 흑흑 2014.08.14 3258
8117 sql between 쿼리 질문드립니다. [1] halonamomo 2014.08.13 3194
8116 스크립트 파일 실행 질문드리니다! [1] 파파곰 2014.08.13 2449
8115 데이터 형식 변환 에러 질문입니다. [3] 고구망 2014.08.13 6347
» 차감 수량 구하기 [2] 다초 2014.08.13 3321
8113 쿼리로 실행할땐 빠른데 저장프로시저를 호출하면 느린 이유는? [2] 무념 2014.08.12 5826
8112 group by 질문 [2] ninanio3 2014.08.12 1938
8111 SQL 쿼리 질문좀 드려요 ㅠㅠ [3] 곰팅팅이 2014.08.12 3118
8110 DB서버구축시 꼭 서버OS 만 가능한가요? [4] 김영환_281520 2014.08.11 5179
8109 표형식으로 데이타 select 쿼리 문의입니다. [3] 이길우 2014.08.11 2561
8108 조건문 관련 질문드립니다. [3] 늦둥이 2014.08.11 2058
8107 (이전질문 8108) 테이블 공간 확인 질문.. SQL어렵.. 2014.08.11 2018
8106 left outer join 쿼리 질문 있습니다. [7] 옹기종기 2014.08.10 3429
8105 sql server2014 에서 연결된 서버 kwanny 2014.08.09 2489
8104 쿼리 질문 드립니다. [2] 파르미 2014.08.08 2258
8103 text타입의 내용부분이 검색이 무지 느리네요. 쿼리문 조언부탁드립니다. [3] 김영환_281520 2014.08.08 2609





XE Login