从同一个表

时间:2016-02-12 17:52:21

标签: sql sql-server-2008

我有一个包含以下属性的员工数据表

Id Emp_name Supervisor_Name Supervisor_id
1   A           B
2   B           
3   C           B

我想更新Supervisor_Id列,Id值等于Supervisor_Name。输出如下。

Id Emp_name Supervisor_Name Supervisor_id
1   A           B               2
2   B           
3   C           B               2

执行此操作的最佳SQL查询是什么

2 个答案:

答案 0 :(得分:1)

INNER JOIN使用UPDATE t1 SET t1.Supervisor_id = t2.Id FROM mytable t1 INNER JOIN mytable t2 ON t1.Supervisor_Name = t2.Emp_name 语法:

{{1}}

http://www.hackviking.com/development/python-get-user-info-after-oauth/

答案 1 :(得分:1)

自我加入可以胜任

update e1
set e1.Supervisor_id=e.id
from Employee e1
join Employee e
on e1.Supervisor_Name =e.Emp_name