多条重复记录中只取一条时间最近的记录
select aa.forecast_no, t1.wgt jz, t1.sj zl_sj, t2.wgt mz, t3.wgt pz
from Table1 aa
left outer join (select a.*
from Table2 a
where a.lrdate =
(select max(b.lrdate)
from Table2 b
where a.forecast_no = b.forecast_no and b.jl_flag='13')) t1
on t1.forecast_no = aa.forecast_no
and t1.jl_flag = '13'
left outer join (select c.*
from Table2 c
where c.lrdate =
(select max(d.lrdate)
from Table2 d
where d.forecast_no = c.forecast_no and d.jl_flag='12')) t2
on t2.forecast_no = aa.forecast_no
and t2.jl_flag = '12'
left outer join (select e.*
from Table2 e
where eee.lrdate =
(select max(f.lrdate)
from Table2 f
where e.forecast_no = f.forecast_no and f.jl_flag='13' )) t3
on t3.forecast_no = aa.forecast_no
and t3.jl_flag = '11'
where aa.enter_time > To_date('2016-05-01', 'YYYY-MM-DD')