基于时间戳间隔链接两个表



我正在尝试连接如下所示的两个表:

一个:

ID   |          Time        |   Mode
B121   2017-10-19 11:00:00     Processed
C232   2017-10-19 12:00:00     Cancelled
B121   2017-10-19 15:00:00     Cancelled
C455   2017-10-19 18:00:00     Processed
N776   2017-10-19 11:00:00     Processed

乙:

ID   |          Time        
B121   2017-10-19 11:43:32    
C232   2017-10-19 12:00:00    
B121   2017-10-19 15:33:55    
C455   2017-10-19 18:31:33     
N776   2017-10-19 11:08:00     

我想根据连接表A将时间和模式列添加到表B中 ID 和时间列。

但表 A 中的时间基于每小时的间隔,表 B 中的时间是精确时间。

我该怎么做?谢谢!

使用以下逻辑尝试以下逻辑,使用date_trunc()来实现所需的输出。通过在date_trunc()函数中使用"小时"作为参数,这会将日期时间转换为值直到该值的小时为止的值。因此,条件只会检查小时值是否相同。

SELECT B.ID, B.Time, A.Time, A.Mode 
FROM B
INNER JOIN A
ON B.ID = A.ID
AND date_trunc(hour, B.Time) =  date_trunc(hour, A.Time)

相关内容

  • 没有找到相关文章

最新更新