首页 > 解决方案 > 如何根据开始和结束日期时间之间的日期时间将一个表中的组 ID 分配给另一个表中的行?

问题描述

我有两张桌子。表 A 有两列,一列日期时间,一列数字。表 B 有几列,但三个基本列是解决这个问题的:每行的唯一 ID、开始日期时间和结束日期时间。表A对于表B的每一行都有多行,所以我想根据表A的日期时间是否发生在表B的开始日期时间和结束日期时间之间,将表B中的行ID分配给表A的相应行。假设表 B 中的行没有重叠的开始-结束间隔。

想象一下,基本上许多实验都是用开始和结束时间完成的,但是实验的测量是单独记录的,没有实验 ID,只有日期时间可以参考,在该实验期间进行观察。

如何将表 B ID 分配给表 A 中的观察值?

请并且非常感谢您。

标签: sqldatetimegroup-bybetween

解决方案


我会尝试这样的事情:

select a.*, b.id
from a, b
where a.dt between b.start_dt and b.end_dt;

推荐阅读