gpt4 book ai didi

oracle - 从开始日期获取结束日期

转载 作者:行者123 更新时间:2023-12-01 10:05:54 25 4
gpt4 key购买 nike

我的数据库中有一个 EMP 表,其中包含以下字段:

id,name,post,joining_date.

每当任何员工名称发生变化时,都会插入一个带有新名称的新行。意味着如果一名员工获得晋升,他会有多行。现在我想为每个员工明智地指定结束日期。就像我的日期一样:

id        name          start_date     post
1 x 24-JAN-05 Software Engineer
2 y 23-JAN-08 Associate Software Engineer
3 x 26-Aug-05 Senior Sofware Engineer
4 y 20-FEB-09 Sofware Engineer

我想要以下格式的数据:

id        name          start_date     end_date        post
1 x 24-JAN-05 26-Aug-05 Software Engineer
2 x 26-Aug-05 null Senior Software Engineer
3 y 23-JAN-08 20-FEB-09 Associate Software Engineer
4 y 20-FEB-09 null Software Engineer

因此,我想获取每个员工每个职位的结束日期数据。我不想使用 PL/SQL。我只想使用查询。我希望它有意义。

最佳答案

开始吧:

select id, name, start_date, lead(start_date) over (partition by name
order by start_date) as end_date, post from emp;

关于oracle - 从开始日期获取结束日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10775070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com