Sql 我们可以在一个查询中得到下面的示例吗?
输入表:Sql 我们可以在一个查询中得到下面的示例吗?,sql,Sql,输入表: EMPNO -- ATTR_ID---ATTR_Value---Strt_dt------End_dt A100 LOC UK 7-SEP-2020 11-OCT-2020 A100 LOC SA 11-OCT-2020 31-12-9999 A100 ROLE M 7-SEP-2020 11-DEC-2020 A100 ROLE
EMPNO -- ATTR_ID---ATTR_Value---Strt_dt------End_dt
A100 LOC UK 7-SEP-2020 11-OCT-2020
A100 LOC SA 11-OCT-2020 31-12-9999
A100 ROLE M 7-SEP-2020 11-DEC-2020
A100 ROLE SM 11-DEC-2020 31-12-9999
预期结果:
EMPNO LOC ROLE STRT_DT END_DT
A100 UK M 7-SEP-2020 11-OCT-2020
A100 SA M 11-OCT-2020 11-DEC-2020
A100 SA SM 11-DEC-2020 31-12-9999
(1)我删除了不一致的数据库标记。请仅使用您真正使用的数据库进行标记。(2) 解释你想要实现的逻辑。当你只是将数据放入一个问题中时,这并不明显。我想根据属性和持续时间获取更新,有时我们会有持续时间重叠,因此我们需要合并记录,并且我们必须进行计算,正如在提供的示例中,我们对2个属性进行了2次更新,因此我们需要从开始到结束合并持续时间