ms-access - 使用基于另一个表的特定值更新 MS Access 表
问题描述
我正在尝试根据第二个表中缺少匹配项来更新表中的是/否列,如下所示:
UPDATE Table1
INNER JOIN Table2
ON (Table1.Date_last_action = Table2.MaxOfDate_last_action)
AND (Table1.Office = Table2.Office)
AND (Table1.Response_ID = Table2.Response_ID)
SET Table1.IsDeprectated = 1
WHERE (([Table2].[MaxOfDate_last_action] Is Null));
或者
UPDATE Table1
INNER JOIN Table2
ON (Table1.Date_last_action <> Table2.MaxOfDate_last_action)
AND (Table1.Office = Table2.Office)
AND (Table1.Response_ID = Table2.Response_ID)
SET Table1.IsDeprectated = 1;
两者都不起作用。
我的目标是,当执行更新查询时,对于 Table1 中所有在 Table2 中没有匹配行的行,IsDeprecated 列设置为 True
这可能吗?
[编辑蒂姆的评论]
解决方案
您可以将存在逻辑与子查询一起使用:
UPDATE Table1 t1
SET t1.IsDeprectated = 1
WHERE NOT EXISTS (SELECT 1 FROM Table2 t2
WHERE t1.Date_last_action <> t2.MaxOfDate_last_action AND
t1.Office = t2.Office AND
t1.Response_ID = t2.Response_ID);
推荐阅读
- java - JAXB - 抽象类的解组 (InstantiationException)
- google-play-console - 问题:需要登录凭据才能进行应用审核
- c - 在 Linux 终端中执行编译后的 C 文件:理解语法(缓冲区溢出应用程序)
- python - ModuleNotFoundError Python Anaconda
- mysql - 如果条件为真一次,则不要显示列。在 SQL 中
- bash - 如何在 bash 脚本中使用 switch case 语句来执行不同的操作?
- octave - Mac 上的 Octave GUI 无法找到文件
- optimization - 如何在 Uipath 中更有效地从数据表中删除行
- java - Maven compile 使用 maven-assembly-plugin 引发错误
- vue.js - 如何为浏览器构建适配 Vue 组件?