Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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 更新查询设置值的select查询结果不起作用_Sql_Ms Access - Fatal编程技术网

Sql 更新查询设置值的select查询结果不起作用

Sql 更新查询设置值的select查询结果不起作用,sql,ms-access,Sql,Ms Access,我在MS Access中有一个更新查询;对于更新查询的设置值,我使用了一个select查询,我确信该查询的结果是唯一的,但我得到了一个错误 SET asbuilt_list.commented_sheet = Nz((SELECT [pages] FROM [tbl_transmittal_discipline_poi_max] AS T1 WHERE (T1.[owner document number] = asbuilt_list.

我在MS Access中有一个更新查询;对于更新查询的设置值,我使用了一个select查询,我确信该查询的结果是唯一的,但我得到了一个错误

SET asbuilt_list.commented_sheet =
       Nz((SELECT [pages]
           FROM [tbl_transmittal_discipline_poi_max] AS T1
           WHERE (T1.[owner document number] = asbuilt_list.[doc])
             AND (T1.poi = "cmn" )), 0)
这是我得到的错误:

操作必须使用可更新的查询

我的更新查询如下:

UPDATE asbuilt_list
INNER JOIN tbl_transmittal_discipline_poi_max ON asbuilt_list.doc = tbl_transmittal_discipline_poi_max.[owner document number]
SET asbuilt_list.commented_sheet =
       Nz((SELECT [pages]
           FROM [tbl_transmittal_discipline_poi_max] AS T1
           WHERE (T1.[owner document number] = asbuilt_list.[doc])
             AND (T1.poi = "cmn" )), 0)
WHERE 
    (((asbuilt_list.description ) NOT LIKE "*isometric*")
     AND ((asbuilt_list.doc) NOT LIKE "*ls*")
     AND ((asbuilt_list.discipline) <> "ppd"))
      OR ((( sbuilt_list.description) IS NULL)
          AND ((asbuilt_list.discipline) IS NULL));  
更新竣工清单
竣工清单上的内部连接tbl\U传送单\U规程\U poi\U max.doc=tbl\U传送单\U规程\U poi\U max。[业主文件编号]
设置已生成的\u列表。已注释的\u表=
新西兰((选择[页面]
从[tbl\U传输\U规程\U poi\U max]开始,作为T1
其中(T1.【业主文件编号】=竣工清单【文件】)
和(T1.poi=“cmn”)、0)
哪里
(((asbuild_list.description)与“*等轴测*”不同)
和((asbuild_list.doc)不象“*ls*”)
和((竣工清单、专业)“ppd”))
或(((sbuilt_list.description)为空)
和((ASBUILD_list.PRICTION)为空);

需要查看您的架构。当您执行内部联接时,是否会获得唯一标识ASBUILD_列表中记录的记录?如果不是,则查询不可更新。1)WHERE子句中列出了一个表
sbuilt\u list
。这是打字错误,缺少开头的
a
?2) 为什么要加入
tbl\u transmitation\u规程\u poi\u max
并分别链接嵌入子查询中的表?我以前使用过子查询“技巧”来避免同样的错误,但我真的认为没有必要同时做这两件事。主查询中不依赖于
tbl\u transmitation\u规程\u poi\u max
,因此,如果联接没有生成唯一的
asbuild\u list
行,则它似乎是多余的,可能会导致错误。