我正在尝试创建一个查询,当司机购买汽油时会出现这个问题,以及他购买汽油时的里程表。
目前我正在使用两个表格ODOHIS
和FS_POS
在表格FS_POS
中,我将使用POS_DATE
和VOL_PFUEL
列,ODOHIST
我将使用READINGDATE
和ODOMETER
那么我的问题是我怎样才能在驾驶员抽气的日期拉出里程表读数?
我试过
WHERE POS_DATE = READINGDATE
但很快意识到里程表读数与购买燃料的时间相匹配的可能性几乎是不可能的!
请提前通知并表示感谢!
答案 0 :(得分:0)
以下是在每次填充之前或之前获取最新里程表读数的一种方法:
select fs.*,
(select max(o.odometer)
from odohis o
where o.vehicleId = fs.vehicleId and o.reading_date <= fs.pos_date
) odometer,
(select max(o.reading_date)
from odohis o
where o.vehicleId = fs.vehicleId and o.reading_date <= fs.pos_date
) reading_date
from fs_pos fs;