0

谁能帮我修复这个脚本?

我收到此错误:消息 4104,级别 16,状态 1,行 1 无法绑定多部分标识符“#Temp3.EmpID”。

错误来自: -- 更新到 Keyshop.EmployeeTable UPDATE EmployeeTable SET Status = 'False' WHERE #Temp3.EmpID = EmployeeTable.EmpID

该脚本非常不言自明,但如果您需要我提供更多信息,请告诉我。谢谢

-- Update into Keyshop.EmployeeTable
UPDATE EmployeeTable SET Status = 'False' WHERE #Temp3.EmpID = EmployeeTable.EmpID
4

2 回答 2

1

这不是一个有效的更新语句,因为它引用了一个不在UPDATE子句或可选FROM子句中的表

UPDATE EmployeeTable
 SET Status = 'False' 
WHERE #Temp3.EmpID = EmployeeTable.EmpID

有几种方法可以使用IN可能是最容易理解的

UPDATE EmployeeTable
 SET Status = 'False' 
WHERE EmployeeTable.EmpID IN (SELECT EmpID  FROM #Temp3)
于 2012-08-03T17:23:54.940 回答
0

调换这些人。而不是这个:

UPDATE EmployeeTable SET Status = 'False' WHERE #Temp3.EmpID = EmployeeTable.EmpID

拥有这个

UPDATE EmployeeTable SET Status = 'False' WHERE EmployeeTable.EmpID in (SELECT EmpID  FROM #Temp3)

编辑:我错过了 #Temp3.EmpID 是一个表,而不是一个变量。

于 2012-08-03T17:22:57.097 回答