안녕하세요?
서브쿼리 에서 ORA-00904에러가 발생해서요....
서브쿼리에서 TEMP 테이블에 접근할 방법이 없을까요?
WITH TEMP AS
(
SELECT
PD.ITEM_CD A, -- 상품코드.
DECODE(PH.UNI_ORD_RUTE, '0', PD.CTR_IN_QTY, 0) as B,
DECODE(PH.RET_FLG, '0', DECODE(PH.UNI_ORD_RUTE, '0', PD.CTR_IN_QTY, 0), 0) as C
,PD.ITEM_CD AS D, PD.CTR_IN_DATE AS E
FROM LOA.CTR_PURCHASE_HDR PH,
LOA.CTR_PURCHASE_DTL PD
WHERE PH.CTR_CD = PD.CTR_CD
AND PH.CTR_IN_DATE = PD.CTR_IN_DATE
AND PH.CTR_IN_SLIP = PD.CTR_IN_SLIP
AND PH.CTR_CD = '9003'
AND PH.CTR_IN_DATE >= '20110701'
AND PH.CTR_IN_DATE <= '20110731'
AND PD.ITEM_CD NOT IN ('002476', '002477') )
SELECT A, SUM(B), SUM(C), SUM(D), SUM(E),
(
SELECT NVL(BUY_PRC,0) FROM
(
SELECT BUY_PRC
FROM GOD.STD_PRICE
WHERE ITEM_CD = A <-- 여기서 에러가 발생하네요.. (WITH 테이블에 접근을 못하고 있습니다..)
AND PRC_FR_DATE <= E <-- 여기서 에러가 발생하네요... (WITH 테이블에 접근을 못하고 있습니다..)
ORDER BY PRC_FR_DATE DESC
)
WHERE ROWNUM = 1
) AS F
FROM TEMP
GROUP BY A
; |