select runningnumber,u.u_HM,B_bs,B_bh,errortype,startday,starttime,recentday,recenttime from 
(select * from LC_MonitorHistoryData where RepairConfirmUser  is null
and RunningNumber not in (select RunningNumber  from  LC_UserConfirmation where Confirmuser ='System')  and  runningnumber not in (select runningnumber from LC_MonitorHistoryData where
substr(errortype,1,1)=2 and round(to_number(sysdate - to_date(startday||' '||starttime,'yyyy-mm-dd hh24:mi'))*24)<
(select case 
when substr(B_FZTX,1,1)='A' then 2 
when substr(B_FZTX,1,1)='B' then 5
when substr(B_FZTX,1,1)='C' then 24 
when substr(B_FZTX,1,1)='D' then 72 
end as B_FZTX from pmdcdb where B_FZTX is not null)  )
and runningnumber not in (select runningnumber from LC_MonitorHistoryData where
 substr(errortype,1,1)=4 and round(to_number(sysdate - to_date(startday||' '||starttime,'yyyy-mm-dd hh24:mi'))*24)<
(select case 
when substr(B_FZTX,2,1)='1' then 72
when substr(B_FZTX,2,1)='2' then 24
when substr(B_FZTX,2,1)='3' then 8  
when substr(B_FZTX,2,1)='4' then 4 
when substr(B_FZTX,2,1)='5' then 2
end as B_FZTX from pmdcdb where B_FZTX is not null) )and '2008-08-19' >= StartDay and '2008-08-19'<= recentday and RunningNumber in
(select RunningNumber  from  LC_MonitorFlowData  where rq='2008-08-19'))
a inner join  pmdcuser u on a.B_bs=u.u_bs