首页 > 解决方案 > 如何使用更新 IIF

问题描述

我在 MS-Access 中使用 SQL。我创建了一些查询来分析代码是否存在于两个不同的 Excel 电子表格中并生成一个新表,为每次比较通知“是”或“否”。

但是,有时,某个代码只出现在一个表中,但过了一段时间(当有人更新 excel 电子表格时),该代码就会出现。

我已经有一个进行此比较的查询,但它不适用于在比较之后表中引入的那些代码。

所以,我想创建一个使用 UPDATE 的查询,检查给定的代码现在是否在两个表中,如果是,它将更新我的表的比较列。

这是我为此创建的查询,但它不起作用:

UPDATE 

  comparationTable

SET 

  col_comp = IIf(spreadSheet1.code = spreadSheet2.code),"Yes","******No******")

WHERE 

  code1 = code2;

注意:code1 和 code2 是分别仅显示来自 excel 电子表格 1 和 excel 电子表格 2 的代码的列。

编辑:这是两个电子表格(sp1、sp2)和比较表的图像:sp1

sp2

比较表

标签: sqlms-access

解决方案


括号太多 - 必须始终成对出现。字段名称不正确。WHERE 子句不合适 - Code2 中没有值的记录不会更新为任何值。

UPDATE comparationTable SET col_comp2 = IIf(code1 = code2, "Yes", "******No******")


推荐阅读