SELECT DM.PLANT_CODE, DM.PRD_ATR3_ID,DM.ACT_DATE,DM.AGR_CLS,
SUM(DM.PRD_ACT_QTY) AS PRD_ACT_QTY,SUM(DM.PRD_ACT_MNY) AS PRD_ACT_MNY,SUM(DM.WIP_ACT_QTY) AS WIP_ACT_QTY,SUM(DM.STB_ACT_QTY) AS STB_ACT_QTY,SUM(DM.STB_ACT_MNY) AS STB_ACT_MNY,
SUM(DM.PRD_PLN_QTY) AS PRD_PLN_QTY, SUM(DM.PRD_PLN_MNY) AS PRD_PLN_MNY,SUM(DM.STB_PLN_QTY) AS STB_PLN_QTY, 
SUM(DM.STB_PLN_MNY) AS STB_PLN_MNY,SUM(DM.PRD_ACTCUM_QTY) AS PRD_ACTCUM_QTY,SUM(DM.PRD_ACTCUM_MNY) AS PRD_ACTCUM_MNY,
SUM(DM.STB_ACTCUM_QTY) AS STB_ACTCUM_QTY,SUM(DM.STB_ACTCUM_MNY) AS STB_ACTCUM_MNY,SUM(DM.PRD_PLNCUM_QTY) AS PRD_PLNCUM_QTY, 
SUM(DM.PRD_PLNCUM_MNY) AS PRD_PLNCUM_MNY,SUM(DM.STB_PLNCUM_QTY) AS STB_PLNCUM_QTY,SUM(DM.STB_PLNCUM_MNY) AS STB_PLNCUM_MNY,        
SUM(DM.PRD_PLNSUM_QTY) AS PRD_PLNSUM_QTY,SUM(DM.PRD_PLNSUM_MNY) AS PRD_PLNSUM_MNY,SUM(DM.STB_PLNSUM_QTY) AS STB_PLNSUM_QTY, 
SUM(DM.STB_PLNSUM_MNY) AS STB_PLNSUM_MNY,SUM(DM.NSTB_ACT_QTY) AS NSTB_ACT_QTY,SUM(DM.ACT_DIF_QTY) AS ACT_DIF_QTY, SUM(DM.ACT_DIF_MNY) AS ACT_DIF_MNY,        
(CASE WHEN SUM(DM.PRD_PLN_QTY) = 0 THEN 0 ELSE ROUND((DECIMAL(SUM(DM.PRD_ACT_QTY))/SUM(DM.PRD_PLN_QTY) * 100),2) END) AS PRDQTY_PRG_RATIO,        
(CASE WHEN SUM(DM.STB_PLN_QTY) = 0 THEN 0 ELSE ROUND((DECIMAL(SUM(DM.STB_ACT_QTY))/SUM(DM.STB_PLN_QTY) * 100),2) END) AS STBQTY_PRG_RATIO,        
(CASE WHEN SUM(DM.PRD_PLN_MNY) = 0 THEN 0 ELSE ROUND((DECIMAL(SUM(DM.PRD_ACT_MNY))/SUM(DM.PRD_PLN_MNY) * 100),2) END) AS PRDMNY_PRG_RATIO,        
(CASE WHEN SUM(DM.STB_PLN_MNY) = 0 THEN 0 ELSE ROUND((DECIMAL(SUM(DM.STB_ACT_MNY))/SUM(DM.STB_PLN_MNY) * 100),2) END) AS STBMNY_PRG_RATIO,        
SUM(DM.STOCK_QTY) AS STOCK_QTY,        
(CASE WHEN SUM(AAA.A_STOCK_QTY-BBB.B_STOCK_QTY+CCC.C_STB_ACT_QTY-DDD.D_NSTB_ACT_QTY) = 0 THEN 0              
ELSE ROUND((DECIMAL(SUM(DM.WIP_DAY) * (AAA.A_STOCK_QTY-BBB.B_STOCK_QTY+CCC.C_STB_ACT_QTY-DDD.D_NSTB_ACT_QTY)) / SUM(AAA.A_STOCK_QTY-BBB.B_STOCK_QTY+CCC.C_STB_ACT_QTY-DDD.D_NSTB_ACT_QTY)),2)        
END) AS WIP_DAY,       
(CASE WHEN SUM(BBB.B_STOCK_QTY+CCC.C_STB_ACT_QTY-DDD.D_NSTB_ACT_QTY) = 0 THEN 0              
ELSE ROUND((DECIMAL(SUM(DM.STK_DAY) * (BBB.B_STOCK_QTY+CCC.C_STB_ACT_QTY-DDD.D_NSTB_ACT_QTY)) / SUM(BBB.B_STOCK_QTY+CCC.C_STB_ACT_QTY-DDD.D_NSTB_ACT_QTY)),2)        
END) AS STK_DAY,       
MAX(DM.ALERT_LV1) AS ALERT_LV1, MAX(DM.ALERT_LV2) AS ALERT_LV2, MAX(DM.ALERT_LV3) AS ALERT_LV3,DM.PRD_ATR3_NAME AS PRD_ATR3_NAME,        
'alert1' AS ALERT_LV1_NAME, 'alert2' AS ALERT_LV2_NAME, 'alert3' AS ALERT_LV3_NAME 
FROM SCM01.PRD_PRG DM , 
TABLE (SELECT SUM(STOCK_QTY) AS A_STOCK_QTY FROM SCM01.PRD_PRG A WHERE A.PLANT_CODE=DM.PLANT_CODE AND A.ACT_DATE=DM.ACT_DATE AND A.PRD_ATR3_ID = DM.PRD_ATR3_ID) AS AAA , 
TABLE (SELECT B.STOCK_QTY AS B_STOCK_QTY FROM SCM01.PRD_PRG B WHERE B.PLANT_CODE=DM.PLANT_CODE AND B.ACT_DATE=DM.ACT_DATE AND B.PRD_ATR3_ID = DM.PRD_ATR3_ID 
             AND B.PRD_KEY1_ID = (SELECT BB.ERP_PROC_CLS FROM SCM01.PLANCTRL BB WHERE BB.ERP_PROC_CATEGORY=DM.PRD_ATR3_ID AND BB.END_FLG='1')) AS BBB , 
TABLE (SELECT C.STB_ACT_QTY AS C_STB_ACT_QTY FROM SCM01.PRD_PRG C WHERE C.PLANT_CODE=DM.PLANT_CODE AND C.ACT_DATE=DM.ACT_DATE AND C.PRD_ATR3_ID = DM.PRD_ATR3_ID 
            AND C.PRD_KEY1_ID = (SELECT CC.ERP_PROC_CLS FROM SCM01.PLANCTRL CC WHERE CC.ERP_PROC_CATEGORY=DM.PRD_ATR3_ID AND CC.END_FLG='1')) AS CCC, 
TABLE (SELECT D.NSTB_ACT_QTY AS D_NSTB_ACT_QTY FROM SCM01.PRD_PRG D WHERE D.PLANT_CODE=DM.PLANT_CODE AND D.ACT_DATE=DM.ACT_DATE AND D.PRD_ATR3_ID = DM.PRD_ATR3_ID 
            AND D.PRD_KEY1_ID = (SELECT DD.ERP_PROC_CLS FROM SCM01.PLANCTRL DD WHERE DD.ERP_PROC_CATEGORY=DM.PRD_ATR3_ID AND DD.END_FLG='1')) AS DDD 
WHERE DM.PLANT_CODE='PLANTXXY01' AND DM.ACT_DATE='2009-07-23' 
GROUP BY DM.PLANT_CODE, DM.PRD_ATR3_ID,
         DM.ACT_DATE,DM.AGR_CLS, DM.PRD_ATR3_NAME,AAA.A_STOCK_QTY,BBB.B_STOCK_QTY,CCC.C_STB_ACT_QTY,DDD.D_NSTB_ACT_QTY

解决方案 »

  1.   

    消息 195,级别 15,状态 10,第 9 行
    'DECIMAL' 不是可以识别的 内置函数名称。
    消息 156,级别 15,状态 1,第 23 行
    关键字 'AS' 附近有语法错误。
    消息 156,级别 15,状态 1,第 25 行
    关键字 'AS' 附近有语法错误。
    消息 156,级别 15,状态 1,第 27 行
    关键字 'AS' 附近有语法错误。
    消息 156,级别 15,状态 1,第 29 行
    关键字 'AS' 附近有语法错误。