SELECT productname,
CASE WHEN productname='TOTAL' THEN Sum(pre_split_iui)OVER() ELSE pre_split_iui END pre_split_iui,
CASE WHEN productname='TOTAL' THEN Sum(pre_split_mes)OVER() ELSE pre_split_mes END pre_split_mes,
CASE WHEN productname='TOTAL' THEN Sum(split_iui)OVER() ELSE split_iui END split_iui,
CASE WHEN productname='TOTAL' THEN Sum(split_mes)OVER() ELSE split_mes END split_mes,
CASE WHEN productname='TOTAL' THEN Sum(wait_recycle_iui)OVER() ELSE wait_recycle_iui END wait_recycle_iui,
CASE WHEN productname='TOTAL' THEN Sum(wait_recycle_mes)OVER() ELSE wait_recycle_mes END wait_recycle_mes,
CASE WHEN productname='TOTAL' THEN Sum(in_recycle_iui)OVER() ELSE in_recycle_iui END in_recycle_iui,
CASE WHEN productname='TOTAL' THEN Sum(in_recycle_mes)OVER() ELSE in_recycle_mes END in_recycle_mes,
CASE WHEN productname='TOTAL' THEN Round(AVG(usetimes)OVER(),1) ELSE usetimes END usetimes,
CASE WHEN productname='TOTAL' THEN Sum(last_usage_iui)OVER() ELSE last_usage_iui END last_usage_iui,
CASE WHEN productname='TOTAL' THEN Sum(last_usage_mes)OVER() ELSE last_usage_mes END last_usage_mes,
CASE WHEN productname='TOTAL' THEN Sum(today_usage_iui)OVER() ELSE today_usage_iui END today_usage_iui,
CASE WHEN productname='TOTAL' THEN Sum(today_usage_mes)OVER() ELSE today_usage_mes END today_usage_mes,
CASE WHEN productname='TOTAL' THEN Sum(last_rec_wo_iui)OVER() ELSE last_rec_wo_iui END last_rec_wo_iui,
CASE WHEN productname='TOTAL' THEN Sum(last_rec_wo_mes)OVER() ELSE last_rec_wo_mes END last_rec_wo_mes,
CASE WHEN productname='TOTAL' THEN Sum(today_rec_wo_iui)OVER() ELSE today_rec_wo_iui END today_rec_wo_iui,
CASE WHEN productname='TOTAL' THEN Sum(today_rec_wo_mes)OVER() ELSE today_rec_wo_mes END today_rec_wo_mes
FROM(
SELECT 2 SEQ,AA.*,Nvl(BB.usetimes,1) usetimes,Nvl(BB.LAST_USAGE_IUI,0) LAST_USAGE_IUI,Nvl(BB.LAST_USAGE_MES,0) LAST_USAGE_MES,Nvl(BB.TODAY_USAGE_IUI,0) TODAY_USAGE_IUI,Nvl(BB.TODAY_USAGE_MES,0) TODAY_USAGE_MES,Nvl(CC.LAST_REC_WO_IUI,0) LAST_REC_WO_IUI,Nvl(CC.LAST_REC_WO_MES,0) LAST_REC_WO_MES,Nvl(CC.TODAY_REC_WO_IUI,0) TODAY_REC_WO_IUI,Nvl(CC.TODAY_REC_WO_MES,0) TODAY_REC_WO_MES
FROM(
SELECT productname,
Sum(Decode(SOURCE,'IUI',PRE_SPLIT,0)) PRE_SPLIT_IUI,
Sum(Decode(SOURCE,'MES',PRE_SPLIT,0)) PRE_SPLIT_MES,
Sum(Decode(SOURCE,'IUI',SPLIT,0)) SPLIT_IUI,
Sum(Decode(SOURCE,'MES',SPLIT,0)) SPLIT_MES,
Sum(Decode(SOURCE,'IUI',WAIT_RECYCLE,0)) WAIT_RECYCLE_IUI,
Sum(Decode(SOURCE,'MES',WAIT_RECYCLE,0)) WAIT_RECYCLE_MES,
Sum(Decode(SOURCE,'IUI',IN_RECYCLE,0)) IN_RECYCLE_IUI,
Sum(Decode(SOURCE,'MES',IN_RECYCLE,0)) IN_RECYCLE_MES
FROM(
SELECT SOURCE,productname,
Sum(Decode(stage_flag,'PRE_SPLIT',qty,0)) PRE_SPLIT,
Sum(Decode(stage_flag,'SPLIT',qty,0)) SPLIT,
Sum(CASE WHEN stage_flag='RECYCLE' AND Upper(adstatus)='WAITING' THEN QTY ELSE 0 END) WAIT_RECYCLE,
Sum(CASE WHEN stage_flag='RECYCLE' AND Upper(adstatus)='RUNNING' THEN QTY ELSE 0 END) IN_RECYCLE
FROM(
SELECT SOURCE,productname,adstatus,Sum(componentqty) qty,Round(Avg(queuetime),4) QT,Round(Avg(holdtime),4),STAGE_FLAG
FROM(
SELECT *
FROM(
SELECT 'MES' SOURCE,foupid,lotid,componentqty,status,adstatus,rulename,priority,queuetime,holdtime,stage,resourcetype,recipe,technology,productname,lottype,
CASE WHEN SubStr(plocation,1,3)='MCS' THEN 'INSTOCKER' ELSE 'INFAB' END physicalstatus,plocation,lotowner,lotcomment,
CASE WHEN resourcetype IN ('ED_CWR_OXE','ED_CWR_MET','GE_WET_PRM','2C_WR') THEN 'RECYCLE' ELSE
CASE WHEN (InStr(UPPER(stage),'SPLIT')>0 OR InStr(UPPER(stage),'DUMMY')>0) AND InStr(Upper(rulename),'TRACKOUT')=0 AND InStr(Upper(rulename),'MERGE')=0 AND InStr(Upper(rulename),'SETUP')>0 THEN 'SPLIT'
WHEN InStr(UPPER(stage),'PRE')>0 AND (InStr(UPPER(stage),'PROC')>0 OR InStr(UPPER(stage),'CLEAN')>0 OR InStr(UPPER(stage),'CLN')>0 ) THEN 'PRE_SPLIT' ELSE '' END
END STAGE_FLAG
FROM sdb_tb_info_cwwip
WHERE SubStr(lotid,1,1)='E'
AND priority=4
--AND productname='DFDRNHOX'
--AND STAGE='RECYCLE'
--ORDER BY LOTID
UNION ALL
SELECT 'IUI' SOURCE,foupid,lotid,componentqty,status,adstatus,rulename,priority,queuetime,holdtime,stage,resourcetype,recipe,technology,productname,lottype,
CASE WHEN SubStr(plocation,1,2) IN ('ES','EB','GS','GB','2S','FS','FB','US','UB') THEN 'INSTOCKER' ELSE 'INFAB' END physicalstatus,plocation,lotowner,lotcomment,
CASE WHEN resourcetype IN ('ED_CWR_OXE','ED_CWR_MET','GE_WET_PRM','2C_WR') THEN 'RECYCLE' ELSE
CASE WHEN (InStr(UPPER(stage),'SPLIT')>0 OR InStr(UPPER(stage),'DUMMY')>0) AND InStr(Upper(rulename),'JOBOUT')=0 AND InStr(Upper(rulename),'INUSEEND')=0 AND InStr(Upper(rulename),'JOBPREP')>00 THEN 'SPLIT'
WHEN InStr(UPPER(stage),'PRE')>0 AND (InStr(UPPER(stage),'PROC')>0 OR InStr(UPPER(stage),'CLEAN')>0 OR InStr(UPPER(stage),'CLN')>0 ) THEN 'PRE_SPLIT' ELSE '' END
END STAGE_FLAG
FROM dw01.sdb_tb_info_cwwip_p1@b2mfgdbp1
WHERE SubStr(lotid,1,1)='E'
AND priority=4
)
WHERE STAGE_FLAG IS NOT NULL
)
GROUP BY SOURCE,productname,adstatus,stage_flag
)
GROUP BY SOURCE,productname
)
GROUP BY productname
)AA,
(
SELECT productid,usetimes,
Round(LAST_USAGE_IUI/Nvl(usetimes,1)) LAST_USAGE_IUI,
Round(LAST_USAGE_MES/Nvl(usetimes,1)) LAST_USAGE_MES,
Round(TODAY_USAGE_IUI/Nvl(usetimes,1)) TODAY_USAGE_IUI,
Round(TODAY_USAGE_MES/Nvl(usetimes,1)) TODAY_USAGE_MES
FROM(
SELECT productid,
Sum(CASE WHEN source='IUI' AND To_Char(SYSDATE-7.5/24,'YYYYMMDD')>HISTDATE THEN trackoutqty ELSE 0 END) LAST_USAGE_IUI,
Sum(CASE WHEN source='MES' AND To_Char(SYSDATE-7.5/24,'YYYYMMDD')>HISTDATE THEN trackoutqty ELSE 0 END) LAST_USAGE_MES,
Sum(CASE WHEN source='IUI' AND To_Char(SYSDATE-7.5/24,'YYYYMMDD')=HISTDATE THEN trackoutqty ELSE 0 END) TODAY_USAGE_IUI,
Sum(CASE WHEN source='MES' AND To_Char(SYSDATE-7.5/24,'YYYYMMDD')=HISTDATE THEN trackoutqty ELSE 0 END) TODAY_USAGE_MES
--Sum(Decode(source,'IUI',trackoutqty,0)) LAST_USAGE_IUI,
--Sum(Decode(source,'MES',trackoutqty,0)) LAST_USAGE_MES,
FROM(
SELECT 'MES' source,productid,trackoutqty,To_Char(To_Date(SubStr(trackouttime,1,15),'YYYYMMDD HH24MISS')-7.5/24,'YYYYMMDD') HISTDATE
FROM sdb_tb_wip_tito_hist
WHERE SubStr(LOTID,1,1)='E'
AND trackouttime>=To_Char(SYSDATE-7.5/24-1,'YYYYMMDD')||' 0730'
--AND trackouttime<To_Char(SYSDATE-7.5/24,'YYYYMMDD')||' 0730'
AND lottype IN ('C','D','Z','V','Y')
AND priority=4
AND prim_resource NOT LIKE '%DUMMY%'
AND equipmentname NOT LIKE '%DMY%'
AND runtime>0
AND stage NOT IN('DUMMY','PRE_MEAS','POSTMEAS','POST_MEAS','PRE_PROC','RECYCLE','PRE_PROCESS')
UNION ALL
SELECT 'IUI' source,productid,trackoutqty,To_Char(To_Date(SubStr(trackouttime,1,15),'YYYYMMDD HH24MISS')-7.5/24,'YYYYMMDD') HISTDATE
FROM dw01.sdb_tb_wip_tito_hist_p1@b2mfgdbp1
WHERE SubStr(LOTID,1,1)='E'
AND trackouttime>=To_Char(SYSDATE-7.5/24-1,'YYYYMMDD')||' 0730'
--AND trackouttime<To_Char(SYSDATE-7.5/24,'YYYYMMDD')||' 0730'
AND lottype IN ('C','D','Z','V','Y')
AND priority=4
AND prim_resource NOT LIKE '%DUMMY%'
AND equipmentname NOT LIKE '%DMY%'
AND runtime>0
AND stage NOT IN('DUMMY','PRE_MEAS','POSTMEAS','POST_MEAS','PRE_PROC','RECYCLE','PRE_PROCESS')
)
GROUP BY productid
)A,
(
SELECT UNIQUE prodid,CASE WHEN use_times_per_recycle=0 THEN 1 ELSE use_times_per_recycle END usetimes
FROM sdb_tb_cdw_prod
)B
WHERE A.productid=B.prodid(+)
)BB,
(
SELECT productid,
Sum(CASE WHEN source='IUI' AND To_Char(SYSDATE-7.5/24,'YYYYMMDD')>HISTDATE THEN trackoutqty ELSE 0 END) LAST_REC_WO_IUI,
Sum(CASE WHEN source='MES' AND To_Char(SYSDATE-7.5/24,'YYYYMMDD')>HISTDATE THEN trackoutqty ELSE 0 END) LAST_REC_WO_MES,
Sum(CASE WHEN source='IUI' AND To_Char(SYSDATE-7.5/24,'YYYYMMDD')=HISTDATE THEN trackoutqty ELSE 0 END) TODAY_REC_WO_IUI,
Sum(CASE WHEN source='MES' AND To_Char(SYSDATE-7.5/24,'YYYYMMDD')=HISTDATE THEN trackoutqty ELSE 0 END) TODAY_REC_WO_MES
--Sum(Decode(source,'IUI',trackoutqty,0)) LAST_REC_WO_IUI,
--Sum(Decode(source,'MES',trackoutqty,0)) LAST_REC_WO_MES
FROM(
SELECT 'MES' source,productid,trackoutqty,To_Char(To_Date(SubStr(trackouttime,1,15),'YYYYMMDD HH24MISS')-7.5/24,'YYYYMMDD') HISTDATE
FROM sdb_tb_wip_tito_hist
WHERE SubStr(lotid,1,1)='E'
AND trackouttime>=To_Char(SYSDATE-7.5/24-1,'YYYYMMDD')||' 0730'
--AND trackouttime<To_Char(SYSDATE-7.5/24,'YYYYMMDD')||' 0730'
AND equipmentname IN ('2WROX01','FWROX01','EWOXR02','2WRPL01','2WRMT01','2CWRH01')
--AND trackoutstageflag='T'
UNION ALL
SELECT 'IUI' source,productid,trackoutqty,To_Char(To_Date(SubStr(trackouttime,1,15),'YYYYMMDD HH24MISS')-7.5/24,'YYYYMMDD') HISTDATE
FROM dw01.sdb_tb_wip_tito_hist_p1@b2mfgdbp1
WHERE SubStr(lotid,1,1)='E'
AND trackouttime>=To_Char(SYSDATE-7.5/24-1,'YYYYMMDD')||' 0730'
--AND trackouttime<To_Char(SYSDATE-7.5/24,'YYYYMMDD')||' 0730'
AND equipmentname IN ('2WROX01','FWROX01','EWOXR02','2WRPL01','2WRMT01','2CWRH01')
--AND trackoutstageflag='T'
)
GROUP BY productid
)CC
WHERE AA.productname=BB.productid(+)
AND AA.productname=CC.productid(+)
--ORDER BY (last_usage_iui+last_usage_mes) DESC
UNION ALL
SELECT 1 SEQ,'TOTAL' productname,0 pre_split_iui,0 pre_split_mes,0 split_iui,0 split_mes,0 wait_recycle_iui,0 wait_recycle_mes,0 in_recycle_iui,0 in_recycle_mes,0 usetimes,0 last_usage_iui,0 last_usage_mes,0 today_usage_iui,0 today_usage_mes,0 last_rec_wo_iui,0 last_rec_wo_mes,0 today_rec_wo_iui,0 today_rec_wo_mes
FROM DUAL
)
ORDER BY SEQ,(last_usage_iui+last_usage_mes) DESC
上面select的那些字段都啥意思,怎么得到的
最新发布