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 935 게시물 읽기
No. 935
SELECT 안의 SELECT (VIEW)
작성자
JOHN
작성일
2006-03-03 11:18
조회수
5,567

안녕하세요.

DB2(AS/400) 에서 SELECT 에 관한 질문 하나 드립니다.

누적 수량을 구하는 쿼리를 아래와 같이 만들었습니다.

TBL_ITEM

ITEM YEAR_MONTH QTY

--------------------------

A 2005-12 10

A 2006-01 5

A 2006-02 20

RESULT

ITEM YEAR_MONTH QTY SUM_QTY

-----------------------------------------------

A 2005-12 10 10

A 2006-01 5 15

A 2006-02 20 35

 

위와 같은 결과 값을 위해 아래와 같은 쿼리를 만들었습니다

 

SELECT ITEM,YEAR_MONTH , QTY ,
(SELECT SUM(QTY) FROM TBL_ITEM WHERE ITEM = A.ITEM AND YEAR_MONTH <= A.YEAR_MONTH) AS SUM_QTY
FROM TBL_ITEM A
이 쿼리를 실행 시키면 정확하게 결과 값이 나옵니다.

그런데 이 쿼리를 VIEW 로 만들어서 실행하면 에러가 나요.

CREATE VIEW QGPL.VIEW_SUM_QTY AS

SELECT ITEM,YEAR_MONTH , QTY ,
(SELECT SUM(QTY) FROM TBL_ITEM WHERE ITEM = A.ITEM AND YEAR_MONTH <= A.YEAR_MONTH) AS SUM_QTY
FROM TBL_ITEM A

이렇게 해서 실행시켜면.... 죄송합니다. 지금 집이라서 에러문을 적을 수가 없네요.

아뭏든 누적을 구하는 구문

(SELECT SUM(QTY) FROM TBL_ITEM WHERE ITEM = A.ITEM AND YEAR_MONTH <= A.YEAR_MONTH) AS SUM_QTY
을 빼면 정상적으로 실행이 되는 걸 보면 누적구하는 부분이 문제인것 같습니다.

얼핏 보니 DB2(AS400) 에서는 SELECT 안에 SELECT 구문이 안된다는 얘기도 있는것 같은데...

이상한건 그냥 쿼리에서는 실행이 잘 된다는 것입니다.

고수님들... 정확한 답변 좀 부탁드립니다.

그리고 이 방법이 아니면 다른 방법이라도 좀 부탁을 드립니다.

감사합니다.

 

 

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

inner select 는 안되더군요... join 문으로 해결하심이...

joliebk님이 2006-03-22 16:06에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
941asp에 db2를 붙일 수 있게 도와주세요... [1]
제임스본드
2006-03-10
6368
939[질문]DB2에서 CREATE TABLE할때 PRIMARY KEY주는 방식.. [2]
이준식
2006-03-09
5854
938db2을 toad에 연결해서 사용하고 싶어요 방법은? [1]
개발자
2006-03-04
7107
935SELECT 안의 SELECT (VIEW) [1]
JOHN
2006-03-03
5567
934질문:DB2(AS400)에서 STORED PROCEDURE 작성하기 [2]
john
2006-02-27
8644
933[질문] DB2에서 사용하는 실수 관련 함수중에서요. [2]
이준식
2006-02-27
6314
93236시간 지난것 체크는? [1]
로드런
2006-02-26
5581
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다