안녕하세요.
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 구문이 안된다는
얘기도 있는것 같은데...
이상한건 그냥 쿼리에서는 실행이 잘 된다는 것입니다.
고수님들... 정확한 답변 좀 부탁드립니다.
그리고 이 방법이 아니면 다른 방법이라도 좀 부탁을 드립니다.
감사합니다.
|