차감 수량 구하기

다초 2014.08.13 10:29 Views : 3334

 번호 

 판매

수량 

  과세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 SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 15596
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 9480
8118 sql server agent 시작이 안되요. [1] 흑흑 2014.08.14 3272
8117 sql between 쿼리 질문드립니다. [1] halonamomo 2014.08.13 3206
8116 스크립트 파일 실행 질문드리니다! [1] 파파곰 2014.08.13 2475
8115 데이터 형식 변환 에러 질문입니다. [3] 고구망 2014.08.13 6355
» 차감 수량 구하기 [2] 다초 2014.08.13 3334
8113 쿼리로 실행할땐 빠른데 저장프로시저를 호출하면 느린 이유는? [2] 무념 2014.08.12 6219
8112 group by 질문 [2] ninanio3 2014.08.12 1946
8111 SQL 쿼리 질문좀 드려요 ㅠㅠ [3] 곰팅팅이 2014.08.12 3129
8110 DB서버구축시 꼭 서버OS 만 가능한가요? [4] 김영환_281520 2014.08.11 5446
8109 표형식으로 데이타 select 쿼리 문의입니다. [3] 이길우 2014.08.11 2569
8108 조건문 관련 질문드립니다. [3] 늦둥이 2014.08.11 2066
8107 (이전질문 8108) 테이블 공간 확인 질문.. SQL어렵.. 2014.08.11 2025
8106 left outer join 쿼리 질문 있습니다. [7] 옹기종기 2014.08.10 3442
8105 sql server2014 에서 연결된 서버 kwanny 2014.08.09 2499
8104 쿼리 질문 드립니다. [2] 파르미 2014.08.08 2261
8103 text타입의 내용부분이 검색이 무지 느리네요. 쿼리문 조언부탁드립니다. [3] 김영환_281520 2014.08.08 2639
8102 트랜젝션 백업에 문제가 생겼습니다ㅠㅠ [1] 사이드사이드 2014.08.07 2151
8101 MS-SQL 버전별 서비스팩 업데이트 아직모자란사람 2014.08.07 3835
8100 (이전 질문 번호 8114) 각 Depth 별 하위를 포함하는 SUM 구하는 쿼리 [2] 오늘밤은안돼요 2014.08.07 2687
8099 MSsql에서 Oracle DB에 연결된 서버로 붙으려는데 에러가 [1] izuminoa 2014.08.07 7436





XE Login