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 38854 게시물 읽기
No. 38854
특정조건 만족하는 칼럼의 카운트?
작성자
강영호
작성일
2011-09-13 01:27ⓒ
2011-09-13 01:29ⓜ
조회수
3,762

 

TOTAL_QT NAME D1 D2 D3 D4 D5 D6 D7 D8 D9
10000 A 8000 6000 5000 2000 -500 -1000 -5000 -9000 -10000
15000 B 10000 8000 6000 5500 4000 3000 100 -2000 -50000
5000 C 4000 1000 200 -4000 -6000 -8000 -9000 -12000 -20000

 

안녕하세요. 위와같은 데이터가 있을시, -수량이 나오기전 Day 를 구하고 싶습니다.

예를들어 A품목은 D5에서 부족수량이 나오므로 카운트를 4로 나타내고,

B품목은 카운트를 7로, C품목은 카운트를 3으로 나타낼려고 하는데 어떤방법이 있는지

조언해 주시면 감사하겠습니다.

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

만약 위의 데이터처럼, 음수가 연속으로 나온다면, SIGN() 함수와 DECODE() 함수를 이용하면 될것같읍니다.   SIGN(양수)=1, SIGN(0)=0, SIGN(음수)=-1

 

WITH t AS  (
  SELECT 10000 Total_Qt, 'A' Name,
         8000 D1, 6000 D2, 5000 D3, 2000 D4, -500 D5, -1000 D6, -5000 D7, -9000 D8, -10000 D9
    FROM DUAL
  UNION ALL
  SELECT 15000 Total_Qt, 'B' Name,
         10000 D1, 8000 D2, 6000 D3, 5500 D4, 4000 D5, 3000 D6, 100 D7, -2000 D8, -50000 D9
    FROM DUAL
  UNION ALL
  SELECT  5000 Total_Qt, 'C' Name,
          4000 D1, 1000 D2, 200 D3, -4000 D4, -6000 D5, -8000 D6, -9000 D7, -12000 D8, -20000 D9
    FROM DUAL 
)
SELECT Total_Qt, Name,
  DECODE(SIGN(D1),-1,0,1)+ 
  DECODE(SIGN(D2),-1,0,1)+
  DECODE(SIGN(D3),-1,0,1)+
  DECODE(SIGN(D4),-1,0,1)+
  DECODE(SIGN(D5),-1,0,1)+
  DECODE(SIGN(D6),-1,0,1)+
  DECODE(SIGN(D7),-1,0,1)+
  DECODE(SIGN(D8),-1,0,1)+
  DECODE(SIGN(D9),-1,0,1) Count
FROM t;

 

hopper(bunny)님이 2011-09-13 11:38에 작성한 댓글입니다.
이 댓글은 2011-09-13 11:44에 마지막으로 수정되었습니다.

감사합니다. 도움이 많이 되었습니다. 

강영호님이 2011-09-14 00:28에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
38857합계금액 추출 쿼리 질문 드려요 [5]
이순욱
2011-09-14
8543
38856시설사용신청 [1]
궁금합니다.
2011-09-14
4079
38855모델링 질문입니다. [1]
저글링
2011-09-14
3720
38854특정조건 만족하는 칼럼의 카운트? [2]
강영호
2011-09-13
3762
38853sql loader 로 개행을 포함한 문자 그대로 테이블에 저장하는 방법이 있는지 알려주세요
sybase맨
2011-09-10
4941
38852궁금한게있습니다 (데이터파일관련) [4]
임서희
2011-09-09
3535
38851해당일과 익일 구분하기 [2]
강영호
2011-09-09
4840
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다