database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 41138 게시물 읽기
No. 41138
순차적으로 잔액 차감하는 쿼리좀 도와주세요...ㅜ.ㅜ
작성자
도끼
작성일
2016-04-22 05:05
조회수
8,661

 

프로모션 사은품구분코드 사은품구분 사은품명 코드 금액 구분
사은행사 01 지류사은품 지류사은품 1만원권 010001 10000 지급
사은행사 01 지류사은품 지류사은품 2만원권 010002 20000 지급
사은행사 02 포인트사은품 포인트 사은품 020001 10000 지급
사은행사 02 포인트사은품 포인트 사은품 020001 -20000 회수
             
             
프로모션 사은품구분코드 사은품구분 사은품명 코드 금액 잔액
사은행사 01 지류사은품 지류사은품 1만원권 010001 10000 0
사은행사 01 지류사은품 지류사은품 2만원권 010002 20000 10000
사은행사 02 포인트사은품 포인트 사은품 020001 10000 10000

 

제발 도와주세요... 

위에 데이터 처럼 지류와 포인트류가 서로 지급 회수 가 가능합니다..

그래서 위의  상황이 실 데이터이면  아래와 같이    잔액이  지급된 순서대로  차감이 되어서 아래와 같이 나오면

잔액이 0원 이상인 것만 보여주고 싶어요...

 

ㅜ.ㅜ 제발 도와주세요...

 

이 글에 대한 댓글이 총 1건 있습니다.

순차라는 표현을 쓰셨지만 정렬기준 항목은 안보이네요?
또한 4개 자료가 하나로 묶이는 그룹 기준 항목도 안보이네요?
이 두가지 항목(그룹기준, 정렬기준)이 제시되어야 합니다.

 

WITH t
( 그룹기준, 정렬기준
, 프로모션, 사은품구분코드, 사은품구분, 사은품명, 코드, 금액, 구분
) AS
(
          SELECT 1, 1, '사은행사', '01', '지류사은품'  , '지류사은품 1만원권', '010001',  10000, '지급'
UNION ALL SELECT 1, 2, '사은행사', '01', '지류사은품'  , '지류사은품 2만원권', '010002',  20000, '지급'
UNION ALL SELECT 1, 3, '사은행사', '02', '포인트사은품', '포인트 사은품'     , '020001',  10000, '지급'
UNION ALL SELECT 1, 4, '사은행사', '02', '포인트사은품', '포인트 사은품'     , '020001', -20000, '회수'

)
SELECT 그룹기준, 정렬기준
     , 프로모션, 사은품구분코드, 사은품구분, 사은품명, 코드, 금액, 구분
     , CASE WHEN x - 금액 > y THEN 금액 ELSE x - y END 잔액
  FROM (SELECT 그룹기준, 정렬기준
             , 프로모션, 사은품구분코드, 사은품구분, 사은품명, 코드, 금액, 구분
             , SUM(CASE WHEN 금액 > 0 THEN  금액 ELSE 0 END)
               OVER(PARTITION BY 그룹기준 ORDER BY 정렬기준) x
             , SUM(CASE WHEN 금액 < 0 THEN -금액 ELSE 0 END)
               OVER(PARTITION BY 그룹기준) y
          FROM t
        ) a
 WHERE 금액 > 0
   AND x - y > 0
;

마농(manon94)님이 2016-04-22 14:32에 작성한 댓글입니다.
이 댓글은 2016-04-22 14:35에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
41141마농님 좀 도와주세요 ㅠㅠ
박양희
2016-04-25
7828
41140쿼리 도와 주세요.. ㅜㅜ [2]
초보
2016-04-22
7999
41139시청률 분포도 구하는 쿼리 질문드립니다.. [5]
박양희
2016-04-22
8300
41138순차적으로 잔액 차감하는 쿼리좀 도와주세요...ㅜ.ㅜ [1]
도끼
2016-04-22
8661
41136역 계층구조 쿼리 질문드립니다. [1]
안드로메지션
2016-04-21
7736
41135이런 경우는 어떻게 해야 할까요? [1]
이상균
2016-04-21
7316
41134utl_smtp 에서 파일 첨부 기능 관련 질문
정재영
2016-04-21
7701
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.052초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다