首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >归一化数据

归一化数据
EN

Stack Overflow用户
提问于 2009-05-20 12:30:45
回答 1查看 119关注 0票数 0

我需要用相关的employeeid更新managerid字段。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-05-20 12:33:55

您可以在Employee表上进行连接,以查找经理的id:

代码语言:javascript
复制
UPDATE emp
SET ManagerID = boss.EmployeeID
FROM Employee emp
INNER JOIN Employee boss
    ON boss.Name = emp.ManagerName

请注意,在员工行中同时存储经理的姓名和经理的id违反了3rd Normal Form

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/887635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档