具有内部联接的SQL更新查询语法

MAW*_*656 23 sql t-sql sql-server sql-server-2000 sql-update

任何人都可以在此查询中找到我的错误?我正在使用SQL Server 2000,我想将CostEntry表中的所有条目更新为ActiveCostDetails表中的相应值.where子句可以使用select语句.

    UPDATE CostEntry CE 
INNER JOIN ActiveCostDetails As AD ON CostEntry.lUniqueID = ActiveCostDetails.UniqueID
       SET CostEntry.sJobNumber = ActiveCostDetails.JobNumber
     WHERE CostEntry.SEmployeeCode = '002'
       AND SubString(CostCentre, 1, 1) = sDepartmentCode
       AND substring(CostCentre, 3, 1) = sCategoryCode
       AND substring(CostCentre, 5, 2) = sOperationCode
Run Code Online (Sandbox Code Playgroud)

Joe*_*lli 53

SET需求来对之前FROM\JOIN\WHERE查询的部分.

UPDATE CE
SET sJobNumber = AD.JobNumber
FROM CostEntry CE 
    INNER JOIN ActiveCostDetails As AD 
        ON CE.lUniqueID = AD.UniqueID
WHERE CE.SEmployeeCode = '002'
    AND SubString(CostCentre, 1, 1) = sDepartmentCode
    AND substring(CostCentre, 3, 1) = sCategoryCode
    AND substring(CostCentre, 5, 2) = sOperationCode
Run Code Online (Sandbox Code Playgroud)