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否