<!--StartFragment -->
表见附件
前一天不存在,返回值为0
[code="sql"]
select (case when TJ_VALUE_PRE is not null
then TJ_VALUE-TJ_VALUE_PRE
else 0
end)
from (select TJ_VALUE from TJ where TJ_DATE='20110102') tj1,
(select TJ_VALUE as TJ_VALUE_PRE form TJ where TJ_DATE=
to_char((to_date(20110102,'yyyymmdd')-1),'yyyymmdd')
) tj2
where TJ1.JLD_DM = TJ2.JLD_DM(+)
[/code]
[code="sql"]
select TJ_VALUE-TJ_VALUE_PRE
from (select TJ_VALUE from TJ where TJ_DATE=20110102) tj1,
(select TJ_VALUE as TJ_VALUE_PRE form TJ where TJ_DATE=20110101) tj2
where TJ1.JLD_DM = TJ2.JLD_DM
[/code]
沙发。
如果date=20110102
[code="sql"]
select TJ_VALUE-TJ_VALUE_PRE
from (select TJ_VALUE from TJ where TJ_DATE=date) tj1,
(select TJ_VALUE as TJ_VALUE_PRE form TJ where TJ_DATE=
to_char((to_date(date,'yyyymmdd')-1),'yyyymmdd')
) tj2
where TJ1.JLD_DM = TJ2.JLD_DM
[/code]
板凳
这么写清晰点。
[code="sql"]
select TJ_VALUE-TJ_VALUE_PRE
from (select TJ_VALUE from TJ where TJ_DATE='20110102') tj1,
(select TJ_VALUE as TJ_VALUE_PRE form TJ where TJ_DATE=
to_char((to_date(20110102,'yyyymmdd')-1),'yyyymmdd')
) tj2
where TJ1.JLD_DM = TJ2.JLD_DM
[/code]
漏了一个字段。
[code="sql"]
select (case when TJ_VALUE_PRE is not null
then TJ_VALUE-TJ_VALUE_PRE
else 0
end)
from (select JLD_DM, TJ_VALUE from TJ where TJ_DATE='20110102') tj1,
(select JLD_DM, TJ_VALUE as TJ_VALUE_PRE form TJ where TJ_DATE=
to_char((to_date(20110102,'yyyymmdd')-1),'yyyymmdd')
) tj2
where TJ1.JLD_DM = TJ2.JLD_DM(+)
[/code]