【发布时间】:2020-10-30 12:25:01
【问题描述】:
我需要有关查询的帮助,该查询应按以下方式拆分一些重叠的日期间隔。
例如,如果我们有一个下表
----------------------------------------------------------------------
| column_name | value | start_date | end_date |
----------------------------------------------------------------------
| column1 | value1 | 03-09-2020 | 26-09-2020 |
----------------------------------------------------------------------
| column1 | value2 | 07-09-2020 | 20-09-2020 |
----------------------------------------------------------------------
我想出一个查询来生成以下输出时遇到问题:
----------------------------------------------------------------------
| column_name | value | start_date | end_date |
----------------------------------------------------------------------
| column1 | value1 | 03-09-2020 | 07-09-2020 |
----------------------------------------------------------------------
| column1 | value2 | 07-09-2020 | 20-09-2020 |
----------------------------------------------------------------------
| column1 | value1 | 20-09-2020 | 26-09-2020 |
----------------------------------------------------------------------
【问题讨论】:
-
您如何确定优先级?基于 column_name 还是 value?
-
所以当我从第一个表中得到结果时,这意味着 ,,column1,, 有 ,,value1,, 从 03-09-2020 到 07-09-2020。然后值从 07-09-2020 切换到 value2,直到 20-09-2020 切换回 value1 到 2020 年 9 月 26 日。我意识到我是个错误。 Column2 应该是 Column1。
标签: sql postgresql