아래 쿼리문이 PL/SQL Developer나 Toad 같은 툴에서는
에러 없이 정상적으로 수행이 되며 결과는 다음과 같습니다.
========================================================[ 결 과 ]===========================================
TOTAL PREV_ITEM PREV_ITEM_NO PREV_PRC LAST_ITEM LAST_ITEM_NO LAST_PRC
- ------ ------------------ --------------- ----------- ------------------ --------------- ----------
1 5 방진가대(PLUS-Ⅱ) 0 90000 방진가대(PLUS-Ⅱ) 0 90000
2 5 운반비(장비사용료) 1 350000 운반비(장비사용료) 1 350000
3 5 배관트레이(아연도) 2 220000 배관트레이(아연도) 2 220000
4 5 추가1 3 100000 추가1 3 100000
5 5 추가2 0 추가2 4 100000
===========================================================================================================
그런데 JSP 화면에서 호출하면 에러가 발생합니다.
왜 그러는지 도무지 알수가 없네요.
퀴리문은 다음과 같습니다.
SELECT COUNT(*) OVER () AS total,
NVL(prev_item, last_item) AS prev_item,
prev_item_no, prev_prc,
last_item, last_item_no, last_prc
FROM (
SELECT DECODE(c.no, 0, a.item, a.item) AS last_item,
DECODE(c.no, 0, a.item_no, a.item_no) AS last_item_no,
SUM(DECODE(c.no, 0, a.prc, 0)) AS last_prc,
DECODE(c.no, 1, b.item, b.item) AS prev_item,
DECODE(c.no, 1, b.item_no, b.item_no) AS prev_item_no,
SUM(DECODE(c.no, 1, b.prc, 0)) AS prev_prc
FROM (
SELECT pjt_code, chg_seqno,
item_no, item, prc
FROM TMS_CTRT_ADD_PRC_H
WHERE pjt_code = 'N080706133411'
AND dogub = 'H'
AND chg_seqno = 1
) a,
(
SELECT pjt_code, chg_seqno,
item_no, item, prc
FROM TMS_CTRT_ADD_PRC_H
WHERE pjt_code = 'N080706133411'
AND dogub = 'H'
AND chg_seqno = 0
) b,
(
SELECT 0 AS no FROM DUAL
UNION ALL
SELECT 1 AS no FROM DUAL
) c
WHERE a.pjt_code = b.pjt_code(+)
AND a.item_no = b.item_no(+)
GROUP BY DECODE(c.no, 0, a.item, a.item),
DECODE(c.no, 0, a.item_no, a.item_no),
DECODE(c.no, 1, b.item, b.item),
DECODE(c.no, 1, b.item_no, b.item_no)
ORDER BY DECODE(c.no, 0, a.item_no, a.item_no)
)
* 참고로 환경은 jdk1.4.2, oracle9i, weblogic8.1 입니다. |