我有一个行程表,其中包含在城市不同地区行驶的个别汽车的信息(开始时间、结束时间、开始位置、结束位置等)。我还有一张表,其中包含半定期(每 15 到 30 分钟)测量的所述城市的天气状况(温度、降水量等)。
Trip Table
| TripID | StartTime | EndTime | ....
| 1 | 2012-01-10 03:50:00.163 | 2012-01-15 04:15:40.163 |
| 2 | 2012-01-10 03:59:00.113 | 2012-01-15 04:44:25.025 |
| 3 | 2012-01-10 04:10:00.127 | 2012-01-15 04:35:36.064 |
Weather Table
| WeatherID | ReadingTime | ....
| 1 | 2012-01-10 03:45:00 |
| 2 | 2012-01-10 04:02:05 |
| 3 | 2012-01-10 04:30:34 |
| 4 | 2012-01-10 04:45:23 |
这些天气读数是离散的,因此为了使其(更多)连续,我假设 id 在以读取时间为中点的范围内有效。例如:
- WeatherID 1 条件在 3:45 到 3:53:525 期间有效
- WeatherID 2 条件在 3:53:525 到 3:16:195 期间有效
- ETC
我想在行程表中添加一个外键,它将每次行程与大多数行程的天气相关联。例如,TripID 2 需要 42 分钟才能完成,这发生在两个天气读数(WeatherID 2 和 3)上。因此,WeatherID 3 将被分配给 tripID 2 记录,因为更多的行程发生在 weatherID 3 而不是 weatherID 2 下。
我知道这有点复杂,但是可以使用 SQL 来解决吗?任何帮助表示赞赏。谢谢。