【问题标题】:how to pull matching dates on db2?如何在 db2 上提取匹配日期?
【发布时间】:2015-11-16 14:22:48
【问题描述】:

我正在尝试创建一个查询,该查询将在驾驶员购买汽油时显示,以及他购买汽油时的里程表是什么。 目前我正在使用两个表 ODOHISFS_POS 在表FS_POS 中我将使用POS_DATEVOL_PFUEL 列,在ODOHIST 中我将使用READINGDATEODOMETER

那么我的问题是,我如何才能仅在驾驶员抽气的日期上拉里程表读数?

我试过了

WHERE POS_DATE = READINGDATE

但很快意识到里程表读数与购买燃料的时间相匹配的可能性几乎是不可能的!

请提前告知并感谢!

【问题讨论】:

  • POS_DATE 和 READINGDATE 有哪些数据类型?你可能想试试select * from odohis inner join fs_pos on date(pos_date) = date(readingdate)
  • 两者都是时间戳!我试一试,我会告诉你的!

标签: sql date db2


【解决方案1】:

这是在每次加油时或之前获取最新里程表读数的一种方法:

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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    相关资源
    最近更新 更多