【发布时间】:2021-02-07 17:38:03
【问题描述】:
我在 SQL 数据库中有两个表。第一个,path,保存路径(或轨迹)上的点。每个点都有一行。
第二个表“间隔”列出了第一个表上表示的路径上的间隔。这些已在某些方面被识别为特殊的,例如对象移动不多的路径的一部分。
我们希望在路径上识别多个区间。
我想在path 表中添加一个新列,其值表示路径的该部分是否在这些间隔之一内。我在下面的示例中给出了这个附加列的示例。
如果只有一个间隔我会使用
CASE WHEN p.time BETWEEN i.Start_Time AND i.End_Time THEN True ELSE False END
我可以做些什么来处理任意数量的间隔?
间隔:
| Interval ID | Start_Time | End_Time |
|-------------|------------|----------|
| 1 | 5 | 36 |
| 2 | 71 | 78 |
| 3 | 206 | 308 |
| ... | | |
这里是path 表的示例,其中成功添加了所需的“at_rest”列。
| time | x | y | at_rest |
|------|---|----|---------|
| 0 | 5 | 9 | 0 |
| 1 | 6 | 10 | 0 |
| 2 | 7 | 31 | 1 |
| 3 | 9 | 49 | 1 |
| ... | | | |
【问题讨论】:
-
path.at_rest 是旧的现有列吗?或者它是您的新专栏的名称?或者您想为新列命名什么?
-
用您正在使用的数据库标记您的问题。同时显示您想要的结果。
-
@donPablo 我在文本中添加了一些说明。 'at_rest' 列的含义是我们要添加的新列。抱歉,不清楚。
标签: sql snowflake-cloud-data-platform ansi-sql