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
운영게시판
최근게시물
DB2 Q&A 1531 게시물 읽기
No. 1531
db2 쿼리로 누계내기
작성자
지창용
작성일
2008-02-25 13:19
조회수
9,272

1월에 1

2월에 2

3월에 3

4월에 0


이런자료들이 들어잇습니다.


저내용으로 쿼리를 돌려서


월 월계 누계

1     1     1

2     2     3

3     3     6

4월은 0이니까 출력안함


이런 쿼리를 돌리려고하는데 해결이안되네요 


고수님들의 조언 부탁드립니다..

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

WITH
TEST_T(ILJA,AMT) AS (VALUES
('20070101',1),
('20070111',1),
('20070111',1),
('20070121',1),
('20070123',1),
('20070202',2),
('20070202',2),
('20070212',2),
('20070212',2),
('20070222',2),
('20070303',3),
('20070303',3),
('20070313',3),
('20070313',3),
('20070323',3),
('20071201',4),
('20071212',4),
('20071212',4),
('20071231',4),
('20071231',4)
)

SELECT  SUBSTR(YM,1,4) || MM   YM
       ,SUM(CASE WHEN SUBSTR(YM,5,2)  = MM THEN SAMT ELSE 0 END) SUM
       ,SUM(CASE WHEN SUBSTR(YM,5,2) <= MM THEN SAMT ELSE 0 END) TSUM
 FROM (
   SELECT  SUBSTR(ILJA,1,6) YM  ,SUM(AMT) SAMT
     FROM  TEST_T
    WHERE  ILJA LIKE '2007%'
 GROUP BY SUBSTR(ILJA,1,6)
   ) A ,TABLE(
   VALUES '01','02','03','04','05','06'
         ,'07','08','09','10','11','12') DM (MM)
GROUP BY  SUBSTR(YM,1,4) || MM
  HAVING  SUM(CASE WHEN SUBSTR(YM,5,2) = MM THEN SAMT ELSE 0 END) <> 0

******
TABLE(
   VALUES '01','02','03','04','05','06'
         ,'07','08','09','10','11','12') DM (MM)
<---- 요넘은 01-12 까지 12 ROW를 생성하는 TEMP 테이블임

A 서버쿼리(월별합계)에 요넘을 조인시키면 결과는 A 서버쿼리 * 12 (각각의 MM) 인 12 GROUP이됨

그결과에 MM 단위별로 해당월까지만 SUM 함.

박진복(pjb708)님이 2008-02-25 16:53에 작성한 댓글입니다.
이 댓글은 2008-02-28 17:33에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
1536함수 안에 프로시저 . [1]
Ehdl
2008-02-27
9559
1534DB2에서 날짜사이를 년월일로 표현하는 질문 [3]
손님
2008-02-26
11085
1533이거 db2맞아요? [3]
지창용
2008-02-26
8738
1531db2 쿼리로 누계내기 [1]
지창용
2008-02-25
9272
1530다른 데이타베이스에 테이블 조회 [1]
조댕이
2008-02-22
9216
1529데이타에 엔터문자가 있을때 제거하는 방법..? [1]
궁금
2008-02-20
11817
1528오라클에 있는 varray형 [1]
이도희
2008-02-20
10604
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다