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"附近的语法不正确
谢谢
这将转化为
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)