Sql 从employee表中查找经理id

Sql 从employee表中查找经理id,sql,Sql,我有一个如下所示的数据表 Emp_id Emp_name Dept_id 111 aaa 1 222 bbb 2 333 ccc 3 444 ddd 4 555 eee 5 Emp_id Emp_name Dept_id Manager_id 111 aaa 1 222 222 bbb 2 333 333 ccc 3

我有一个如下所示的数据表

Emp_id Emp_name Dept_id 
111    aaa       1
222    bbb       2
333    ccc       3
444    ddd       4
555    eee       5
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
然后我想从employee表中填充新的列管理器id作为下一个emp_id,如下所示

Emp_id Emp_name Dept_id 
111    aaa       1
222    bbb       2
333    ccc       3
444    ddd       4
555    eee       5
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

提前谢谢你的帮助

您可以将该值返回为:

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

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

您可以将值返回为:

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

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

经理id存储在哪里?从输入和输出看,经理和员工似乎在不同的部门。是否确定数据集?@Dani manager id不在employee表中。在输出中,我必须填充新的列管理器id作为employee表中的下一个员工id。@NagaSushmaKallam You(和我们)必须知道find manager idColumn_name Type Computed Length Prec Scale Nullable Emp_ID int no 4 10 0 no Emp_name varchar no 50 yes Dept_ID no 4 10的数据库结构0没有存储经理id?从输入和输出来看,经理和员工似乎在不同的部门。是否确定数据集?@Dani manager id不在employee表中。在输出中,我必须填充新的列管理器id作为employee表中的下一个员工id。@NagaSushmaKallam You(和我们)必须知道find manager idColumn_name Type Computed Length Prec Scale Nullable Emp_ID int no 4 10 0 no Emp_name varchar no 50 yes Dept_ID no 4 10的数据库结构0否