select cc.fformulacode, cc.rangedate, dd.fpervalue
from (select n1.fformulacode, max(n1.frangedate) as rangedate
from table1 n1
where n1.frangedate <= to_date('2012-10-17', 'yyyy-MM-dd')
group by n1.fformulacode) cc
left join table1 dd
on cc.fformulacode = dd.fformulacode
and cc.rangedate = dd.frangedate
tb_001_Para_Performula_Rela 建表语句如下:(应该考虑主键)
create table Table1
(
FFORMULACODE VARCHAR2(20) not null,
FRANGEDATE DATE not null,
FRANGEMONEY NUMBER(18,4) not null,
FPERTYPE NUMBER(1) not null,
FPERVALUE NUMBER(18,12) not null,
FFIXVALUE NUMBER(18,4) not null,
FLEASTVALUE NUMBER(18,4) not null,
FMAXVALUE NUMBER(18,4) default 0 not null,
FCHECKSTATE NUMBER(1) not null,
FCREATOR VARCHAR2(20) not null,
FCREATETIME VARCHAR2(20) not null,
FCHECKUSER VARCHAR2(20),
FCHECKTIME VARCHAR2(20)
)