从员工表中查找经理ID

时间:2019-12-05 14:46:51

标签: sql

我有一个类似下面的表格数据。

Emp_id Emp_name Dept_id 
111    aaa       1
222    bbb       2
333    ccc       3
444    ddd       4
555    eee       5

然后我想像下面那样从employee表中填充新的列管理器ID作为下一个emp_id。

Emp_id Emp_name Dept_id Manager_id
111    aaa       1       222
222    bbb       2       333
333    ccc       3       444
444    ddd       4       555
555    eee       5       111

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以将值返回为:

select t.*,
       coalesce(lead(empid) over (order by empid),
                min(empid) over ()
               ) as manager_id
from t;

也许一个select查询就足够了。实际上修改表有点棘手,最佳语法取决于数据库。