WITH TEST AS(
/*INVEN:100*/
SELECT 'REQ' CATE , 1000 TW1,1600 TW2,800 TW3 ,1000 TW4,1000 TW5,1200 W1,1200 W2,1200 W3 ,1200 W4,1200 W5
FROM DUAL
)
SELECT 'REQ' CATE,TW1 W1,TW2 W2,TW3 W3,TW4 W4 ,TW5 W5 FROM TEST UNION ALL
SELECT 'CUMSUM' CATE,W1,W2,W3,W4,W5 FROM TEST UNION ALL
SELECT 'DIFF' CATE,W1-TW1 W1,W2-TW2 W2,W3-TW3 W3,W4-TW4 W4,W5-TW5 W5 FROM TEST
CATE W1 W2 W3 W4 W5
REQ 1000 1600 800 1000 1000
CUMSUM 1200 1200 1200 1200 1200
DIFF 200 -400 400 200 200 200
APP 200 0 400 600 800 1000
제가 구하고 싶은 APP인데여.. DIFF값이 -면 0처리하고 그 다음 주차는 그 주차 DIFF고 0 아니면 그전주차를 더해주는 방식이예여.
0이라는 변수가 없으면 그냥 DIFF를 SUM하면 될꺼 같은데..0이란 처리때문에 너무 헷갈리네여.. 고수님들 부탁드려요.
|