我正在尝试连接如下所示的两个表:
一个:
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)