无法绑定多部分标识符 - 更新查询SQL Server 2005

MrB*_*liz 0 sql t-sql sql-server-2005

SQL Server新手在这里.

UPDATE dbo.ObjectivesApproved  
SET dbo.ObjectivesApproved.VAP = 'Y'
WHERE ((dbo.Approved.Cri_Group In ('X01' ,'X02' ,'X03' ,'X04' ,'X05' ,'X07' ,'X08' ,'X09' ,'X10' ,'X11' ,'X12' ,'X13' ,'X14')))
Run Code Online (Sandbox Code Playgroud)

出现以下错误

The multi-part identifier "dbo.Approved.Cri_Group" could not be bound.
Run Code Online (Sandbox Code Playgroud)

是什么导致错误?

更新:上述查询是试错的结果.我正在更新一个Access应用程序到SQL服务器,并与SQL略有不同的方言有一些麻烦

这是我原来的查询.

UPDATE dbo.Approved 
INNER JOIN dbo.ObjectivesApproved ON dbo.Approved.ID = dbo.ObjectivesApproved.ID 
SET dbo.ObjectivesApproved.VAP = 'Y'
WHERE ((dbo.Approved.Cri_Group 
In ('X01' ,'X02' ,'X03' ,'X04' ,'X05' ,'X07' ,'X08' ,'X09' ,'X10' ,'X11' ,'X12' ,'X13' ,'X14')));
Run Code Online (Sandbox Code Playgroud)

这会产生错误 - 关键字"INNER"附近的语法不正确

谢谢

Cyb*_*ude 5

这将转化为

UPDATE
    OA
SET
    OA.VAP = 'Y'
FROM
    dbo.Approved AS A
    INNER JOIN dbo.ObjectivesApproved OA ON A.ID = OA.ID
WHERE
    A.Cri_Group IN ('X01' ,'X02' ,'X03' ,'X04' ,'X05' ,'X07' ,'X08' ,'X09' ,'X10' ,'X11' ,'X12' ,'X13' ,'X14')
Run Code Online (Sandbox Code Playgroud)