【发布时间】:2021-01-14 16:14:00
【问题描述】:
我正在将旧系统数据迁移到新系统。我正在尝试根据更改的日期迁移具有历史记录的数据。我当前的查询结果低于输出。
由于是旧系统,部分数据属于同一时期。我想根据 id 和 name 对数据进行分组,并根据数据属于同一时期将值添加为活动记录或非活动记录。
我的预期输出:
例如,我们以 119 为例进行说明。一行标记为黄色,因为它不属于其他行之间的任何重叠时段,但其他两行与 01-No-18 到 30-Sep-19 的时段重叠。
我需要拆分重叠期间的数据,并仅添加重叠期间的值。所以我需要根据日期寻找组合,结果是引入两行非重叠的结果到两行以下
重叠行的另一行
同样的场景适用于 148324,引入了两行,一用于重叠行,另一行用于非重叠行。
还可以根据任何条件单独获取非重叠数据吗?我想将重叠的数据单独移动到临时表,我可以将不重叠的数据直接移动到输出表。
【问题讨论】: