我的Employee Temp Table具有以下表格结构:
**|EmpId | EmpName | ManagerId | ManagerName|**
|------|---------|-----------|------------|
|[113] |[Test] | |[A] |
|[111] |[A] | |[B] |
我需要一个更新查询来填充员工临时表中的Manager Id,方法是从EmpId中获取相同的值
update B
set B.ManagerCode=A.EmpID
from EmployeeTemp A INNER JOIN EmployeeTemp B
ON A.ManagerName=B.EmpName
此查询对我不起作用。任何人都可以建议对此进行修改。
答案 0 :(得分:2)
已成功更新
DECLARE @Table TABLE (
EmpId INT,
EmpName VARCHAR(100),
ManagerId INT,
ManagerName VARCHAR(100)
)
INSERT INTO @Table
SELECT 113 ,'Test', NULL, 'A' UNION ALL
SELECT 111 ,'A' , NULL, 'B'
SELECT * FROM @Table
UPDATE I
SET ManagerId = O.EmpId
FROM @Table I
INNER JOIN @Table o
ON I.ManagerName = o.EmpName
SELECT * FROM @Table