返回小于给定日期的下一个最大日期oracle SQL

返回小于给定日期的下一个最大日期oracle SQL,sql,oracle11g,Sql,Oracle11g,我有一个疑问: select inv_job.job_id, max( bh_invoice_smy.invoice_date) as d_invoice_date from job join job inv_job on job.job_id = inv_job.invoice_job_id join customer on customer.cus_id = inv_job.cus_id join organization_unit on organization_unit.

我有一个疑问:

select inv_job.job_id,
       max( bh_invoice_smy.invoice_date) as d_invoice_date
from job

join job inv_job on job.job_id = inv_job.invoice_job_id
join customer on customer.cus_id = inv_job.cus_id
join organization_unit on organization_unit.ou_id = inv_job.ou_id
left outer join bh_invoice_smy on bh_invoice_smy.job_id = job.job_id

where
to_date(bh_invoice_smy.invoice_date,'YYYY/MM/DD') <= to_date( 'INPUTDATE','YYYY/MM/DD')

group by inv_job.job_id
选择inv\u job.job\u id,
最大(BHU发票日期)作为d发票日期
从工作
job inv\u job on job.job\u id=inv\u job.invoice\u job\u id
在customer.cus\u id=inv\u job.cus\u id上加入客户
加入组织单位上的组织单位。ou\U id=inv\U job.ou\U id
左侧外部连接bh_发票上的bh_发票\u smy.job\u id=job.job\u id
哪里
截止日期(bh\u invoice\u smy.invoice\u date,'YYYY/MM/DD')类似于以下内容(伪代码):

选择Dt
来自Tbl
其中Dt
这里有什么问题?由于您的
WHERE
子句,它将省略大于您输入日期的发票日期。你期望的输出是什么?基本上,我想这样做。。。选择,JOB\u ID,max(bh\u invoice\u smy.invoice\u date)SELECT Dt FROM Tbl WHERE Dt < InputDate AND ROWNUM = 1 ORDER BY Dt DESC