oracle取时间字段前一天的所有数据,前一天若没有数据则返回空值

别用sysdate,要的是表中所有日期前一天数据


img
期望结果集
img

我是mysql写的,仅供参考


select * from (
    select t.*,subdate(t.date,1) d from mycsndt t
) tt LEFT JOIN mycsndt tt2 ON tt.d= tt2.date 
order by tt.id

img

img

啥意思没看懂

一个left join 不就行了吗
条件是
b.datetime = (a.datetime 减去一天)

select *
from (
select t.*,to_date(t.RESEARCH_DATE,'yyyy-mm-dd')-1 d from NPS t
) tt
LEFT JOIN NPS tt2 ON tt.d= to_date(tt2.RESEARCH_DATE,'yyyy-mm-dd')

img
这个日期怎么改写?我记得ORACLE日期天数减一写法好像是这样啊