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次更新,因此我们需要从开始到结束合并持续时间