0

関連する従業員 ID で 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
4

1 に答える 1

5

Employee テーブルに参加して、マネージャーの ID を見つけることができます。

UPDATE emp
SET ManagerID = boss.EmployeeID
FROM Employee emp
INNER JOIN Employee boss
    ON boss.Name = emp.ManagerName

マネージャーの名前とマネージャーの ID の両方を従業員行に格納することは、第 3 正規形に違反することに注意してください。

于 2009-05-20T12:33:55.147 に答える