我需要用相关的employeeid更新managerid字段。
CREATE TABLE Employee(
EmployeeID Int Primary Key Identity,
Name Varchar(50),
ManagerID INT default 0,
ManagerName Varchar(50) default ''
)
INSERT INTO Employee(Name,ManagerName) VALUES('Dilbert','Boss')
INSERT INTO Employee(Name,ManagerName) VALUES('Boss','Dogbert')
INSERT INTO Employee(Name) VALUES('Dogbert')
SELECT * FROM Employee
GO
-- This is the update stmt I need help with
UPDATE Employee
SET ManagerID=EmpID
WHERE ManagerName = Name发布于 2009-05-20 12:33:55
您可以在Employee表上进行连接,以查找经理的id:
UPDATE emp
SET ManagerID = boss.EmployeeID
FROM Employee emp
INNER JOIN Employee boss
ON boss.Name = emp.ManagerName请注意,在员工行中同时存储经理的姓名和经理的id违反了3rd Normal Form。
https://stackoverflow.com/questions/887635
复制相似问题