Ms access 根据查找到的字符串使用默认值更新字段

Ms access 根据查找到的字符串使用默认值更新字段,ms-access,select,syntax,sql-update,subquery,Ms Access,Select,Syntax,Sql Update,Subquery,表tblOperation中的libelle_操作字段是从不完整的外部文件导入的。在某些情况下,此字段包含与tblTiers.id_对应的字符串(本例中为“PADDOCK”) 表tblOperation中的其他字段(id_tiers、id_type_operation和id_categorie_budget)为空,应使用默认值(libelle_tiers、id_type_operation和id_categorie_budget)进行更新。 表tblTiers包含最经常出现的id_层的默认值(“

表tblOperation中的libelle_操作字段是从不完整的外部文件导入的。在某些情况下,此字段包含与tblTiers.id_对应的字符串(本例中为“PADDOCK”)

表tblOperation中的其他字段(id_tiers、id_type_operation和id_categorie_budget)为空,应使用默认值(libelle_tiers、id_type_operation和id_categorie_budget)进行更新。 表tblTiers包含最经常出现的id_层的默认值(“围场”就是其中之一)

数据库的结构是:

表tblTiers的数据集为:

表tblOperation最初包含:

在libelle_操作和id_层、libelle_层和id_categorie_预算中找到“PADDOCK”后,应包含该值,并根据表tablTiers中存储的默认值将其设置为默认值


要实现此结果,正确的SQL语句应该是什么?

显示id为compte的部分链接是可能的。使用WHERE子句提供关联记录的附加条件

UPDATE tblOperation INNER JOIN tblTiers ON tblOperation.id_compte = tblTiers.id_compte
SET tblOperation.id_tiers = tblTiers.id_tiers, tblOperation.id_type_operation = tblTiers.id_type_operation, tblOperation.id_categorie_budget = tblTiers.id_categorie_budget
WHERE libelle_operation LIKE "*" & libelle_tiers & "*";

为什么在tblOperation的两个字段中需要相同的值?为什么tblTiers和TBLCompt同时链接到tblPrevision和tblOperation?为什么需要在多个表中复制数据?在连接表的SELECT查询中检索相关数据,不要重复。现在已编辑的问题中有一个解释。该SQL毫无意义。UPDATE需要一个SET子句,嵌套查询的=没有意义。如果id_tiers为null,那么您希望如何连接表?这是问题中的错误吗?编辑问题以在文本表中显示原始数据和所需结果。这是在编辑问题中完成的