항상 많은 도움 얻고 있습니다.
SQL SERVER에서 ORACLE11g로 마이그레이션 중 입니다.
SELECT MECHCOD, '1. 계획 수량' AS PART,
NVL(D01,0) D01, NVL(D02,0) D02, NVL(D03,0) D03, NVL(D04,0) D05, NVL(D05,0) D05,
NVL(D06,0) D06, NVL(D07,0) D07, NVL(D08,0) D08, NVL(D09,0) D09, NVL(D10,0) D10,
NVL(D11,0) D11, NVL(D12,0) D12, NVL(D13,0) D13, NVL(D14,0) D14, NVL(D15,0) D15,
NVL(D16,0) D16, NVL(D17,0) D17, NVL(D18,0) D18, NVL(D19,0) D19, NVL(D20,0) D20,
NVL(D21,0) D21, NVL(D22,0) D22, NVL(D23,0) D23, NVL(D24,0) D24, NVL(D25,0) D25,
NVL(D26,0) D26, NVL(D27,0) D27, NVL(D28,0) D28, NVL(D29,0) D29, NVL(D30,0) D30,
NVL(D31,0) D31,
--
NVL(D01,0)+NVL(D02,0)+NVL(D03,0)+NVL(D04,0)+NVL(D05,0)+
NVL(D06,0)+NVL(D07,0)+NVL(D08,0)+NVL(D09,0)+NVL(D10,0)+
NVL(D11,0)+NVL(D12,0)+NVL(D13,0)+NVL(D14,0)+NVL(D15,0)+
NVL(D16,0)+NVL(D17,0)+NVL(D18,0)+NVL(D19,0)+NVL(D20,0)+
NVL(D21,0)+NVL(D22,0)+NVL(D23,0)+NVL(D24,0)+NVL(D25,0)+
NVL(D26,0)+NVL(D27,0)+NVL(D28,0)+NVL(D29,0)+NVL(D30,0)+NVL(D31,0) AS TOT,
--
(NVL(D01,0)+NVL(D02,0)+NVL(D03,0)+NVL(D04,0)+NVL(D05,0)+
NVL(D06,0)+NVL(D07,0)+NVL(D08,0)+NVL(D09,0)+NVL(D10,0)+
NVL(D11,0)+NVL(D12,0)+NVL(D13,0)+NVL(D14,0)+NVL(D15,0)+
NVL(D16,0)+NVL(D17,0)+NVL(D18,0)+NVL(D19,0)+NVL(D20,0)+
NVL(D21,0)+NVL(D22,0)+NVL(D23,0)+NVL(D24,0)+NVL(D25,0)+
NVL(D26,0)+NVL(D27,0)+NVL(D28,0)+NVL(D29,0)+NVL(D30,0)+NVL(D31,0) ) / 12 AS AVE
FROM
(SELECT MECHCOD, 'D' || SUBSTR(PRODATE,7,2) AS DD,
CASE WHEN TOT_TIME > 0 THEN
ROUND((CAST(TOT_TIME AS FLOAT) / MCT * MCAVITY),0)
ELSE 0
END AS PLAN_QTY,
CASE WHEN fnTotTime(MECHCOD,PRODATE,PRODATE) > 0 THEN
ROUND((CAST(ACT_TIME AS FLOAT) / MCT * MCAVITY),0)
ELSE 0
END AS ACT_QTY
FROM VTotTime
WHERE PRODATE BETWEEN '20160101' and '20160131' --@Fdate AND @Tdate
) PV
PIVOT ( SUM(PV.PLAN_QTY) FOR PV.DD IN (D01,D02,D03,D04,D05,D06,D07,D08,D09,D10,D11,D12,D13,D14,D15,D16,
D17,D18,D19,D20,D21,D22,D23,D24,D25,D26,D27,D28,D29,D30,D31) ) AS PVT
PIVOT문에서 ORA-01748: 열명 그 자체만 사용할 수 있습니다. 라는 오류가 납니다.
'D' || SUBSTR(PRODATE,7,2) AS DD, 필드에서 오류가 나는거 같은데 ORACLE11g에서는 어떻게 구현 하나요???
도움 부탁 드립니다..
|