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
운영게시판
최근게시물
MS-SQL Q&A 1831 게시물 읽기
No. 1831
SP 누적 수량 구하는 sql 문 쫌 도와주세요???
작성자
달파란(inet)
작성일
2005-03-21 10:15ⓒ
2005-03-21 10:16ⓜ
조회수
4,519

sql 2000 임다...

지금 테이블에 값이 아래 처럼 되어 있습니다.

IDX --- QTY --- NujukQTY

1 ----- 10 ----- 10

2 ----- 20 ----- 30

3 ----- 20 ----- 50

4 ----- 30 ----- 80

위 처럼 NujukQTY 컬럼에 누적 수량을 구하고 싶은데..

물론 while 문 하나 돌리면 끝납니다.

하지만 while 문 말고 그냥 select 문이나 update 문을 이용해서

한방에 끝날수 있는 구문이 안될까요?

전 아무리 작성해 보아도 안되네요...

고수님들 꼭 부탁드립니다...

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

SELECT A.IDX
      ,A.QTY
      ,SUM(B.QTY) NujukQTY
FROM (
SELECT 1 IDX, 10 QTY UNION ALL
SELECT 2 IDX, 20 QTY UNION ALL
SELECT 3 IDX, 20 QTY UNION ALL
SELECT 4 IDX, 30 QTY
) A
,(
SELECT 1 IDX, 10 QTY UNION ALL
SELECT 2 IDX, 20 QTY UNION ALL
SELECT 3 IDX, 20 QTY UNION ALL
SELECT 4 IDX, 30 QTY
) B
WHERE A.IDX >= B.IDX
GROUP BY A.IDX, A.QTY

 

현재는 IDX 순으로 누계를 구했지만..

조금만 응용하면 QTY 순의 누계나 또는 QTY 순으로 RANK를 부여할

수도 있겠죠..

테이블을 두번 읽는 게 불만이지만..

2000버전까진 이 이상의 최선의 방법을 찾진 못했습니다.

MUR님이 2005-03-21 11:24에 작성한 댓글입니다. Edit

답변 감사합니다.

그냥 짧게 while 문으로 했습니다.^^;

 

달파란(inet)님이 2005-03-22 14:03에 작성한 댓글입니다.

좀전에 테스트 한건데요

넘 오래됐나? 일단 저도 잊어먹지 않기 위해 증거를...

 

IDX가 Key 일경우

 

select a.idx, a.qty, sum(b.qty) nujukqty

from tmptable a

        join tmptable b on b.idx <= a.idx

group by a.idx, a.qty

order by a.idx

 

일자별 누적값을 구하다가...

어쨌든 Self 조인 한방으로 처리...

이승철(yamyo)님이 2006-04-11 18:28에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1834mssql -> 오라클 마이그레이션 결과... [1]
오라클
2005-03-22
2573
1833오라클로 된 sql를 ms/sql로 전환 하는데 도움 부탁합니다. [1]
수경
2005-03-21
3284
1832ms-sql 디비서버 내리고 올리는 방법 좀 알려주세요 [1]
ms초보
2005-03-21
2504
1831SP 누적 수량 구하는 sql 문 쫌 도와주세요??? [3]
달파란
2005-03-21
4519
1830업체 웹서버를 관리하는데 서버에서 사용하는 디비가 어떤건지 알아볼수 있나요?
처버
2005-03-19
1962
1829ms-sql과 oracle 동기화하기에 대해서 [1]
아무개
2005-03-18
2807
1828고수님들의 도움 부탁 드립니다. [1]
김춘오
2005-03-18
2535
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다