我覺得我得到你所需要的。我創建了一些臨時表來替換您的實際表以進行測試。
我用一個子查詢來重命名一些列名的刪除,因爲更新表的模糊名稱:
DECLARE @ACTIVE_EMPLOYEE TABLE (columnid UNIQUEIDENTIFIER, emailid UNIQUEIDENTIFIER, job VARCHAR(200), location VARCHAR(200), projectid UNIQUEIDENTIFIER)
DECLARE @PROJECT_RELATION TABLE (columnid UNIQUEIDENTIFIER, emailid UNIQUEIDENTIFIER, projectid UNIQUEIDENTIFIER)
UPDATE @PROJECT_RELATION
SET projectid = active.proid
FROM (SELECT columnid,
emailid [emid],
job,
location,
projectid [proid]
FROM @ACTIVE_EMPLOYEE) active
WHERE active.emid = emailid
AND active.proid <> projectid
您在使用做多表[MySQL的UPDATE語句的語法這個使用代碼 –
可能的複製WHERE子句](http://stackoverflow.com/questions/15037883/mysql-update-syntax-with-multiple-tables-using-where-clause) – Shadow
你可以在更新中使用連接 – jean