Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法绑定多部分标识符-更新查询SQL Server 2005_Sql_Sql Server 2005_Tsql - Fatal编程技术网

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

无法绑定多部分标识符-更新查询SQL Server 2005,sql,sql-server-2005,tsql,Sql,Sql Server 2005,Tsql,这里是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'))) 给出以下错误 The multi-part identifier "db

这里是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')))
给出以下错误

The multi-part identifier "dbo.Approved.Cri_Group" could not be bound.
是什么导致了这个错误

更新:上述查询是反复试验的结果。我正在将一个Access应用程序更新到SQL server,在使用稍微不同的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')));
这会在关键字“INNER”附近出现错误-语法不正确


谢谢

您没有指定更新在任何地方也使用
Approved
表,而是直接使用一个,如果它的列不存在的话


另一方面,您的更新看起来在逻辑上也有缺陷,因为您将更新
ObjectivesApproved
记录,而不管它们包含什么,也就是说,
ObjectivesApproved
Approved
之间没有提到任何关系。您没有指定更新在任何地方也使用
Approved
表,而是直接使用一个表,如果它的列不存在的话


另一方面,您的更新看起来在逻辑上也有缺陷,因为您将更新
ObjectivesApproved
记录,而不管它们包含什么,也就是说
ObjectivesApproved
Approved

之间没有任何关系,这将转化为

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')

这将转化为

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')

+1、这会解决你的问题。如果您不明白为什么表别名看起来如此不同,请仔细阅读表别名。+1,这应该可以解决您的问题。如果您不明白为什么表别名看起来如此不同,请阅读表别名。