sql - 无论字段计数是否为 0,是否可以基于更新查询?(MS 访问,SQL)
问题描述
问题的速写:每个批号都链接到一个产品号。根据产品,需要对批次进行不同的测试。如果每个测试都已完成,那么我想“退出”该批次。
我的问题在于检查每批次的每个测试是否已完成并将结果链接到更新查询。
我对数据库和 SQL 很陌生。我可以只用 SQL 解决我的问题,还是需要创建宏/vba 代码?
=-=-=- 编辑:=-=-=-
表:
-tblbatches:所有测试完成后,每个新批次都会获得一个批次号(文本字段),通过勾选是/否字段来注销批次
-tbltestsperbatch:此表根据产品编号自动将正确的测试分配给批次。批号(文本字段)、test_ID(数字字段)、Testcompleted(是/否字段)。因此,当一个批次需要完成 5 次测试时,会生成 5 条新记录,具有相同的批号但 5 个不同的 Test_ID。当所有 5 个 Yes/No 字段都勾选 YES 时,tblBatches.Signout 需要自动勾选 YES。
批处理
批号 | 产品编号 | 登出 |
---|---|---|
1 | 0001 | 不 |
2 | 0001 | 不 |
... | ... | ... |
tbltestsperbatch
批号 | test_ID | 测试完成 |
---|---|---|
1 | 1 | 是的 |
1 | 2 | 不 |
... | ... | ... |
我现在有一个运行更新查询的有效 SQL 代码
UPDATE tblbatches
SET tblbatches.signout = Yes
WHERE batchnumber IN(
SELECT batchnumber
FROM( SELECT tbltestsperbatch.batchnumber,
SUM(IIF (Test_completed = no, 1, 0)) AS CountNO
FROM tbltestsperbatch
GROUP BY tbltestsperbatch.batchnumber)
WHERE CountNO = 0)
;
这是执行此任务的有效方法吗?我使用 2 个选择查询,然后执行更新查询。我觉得这应该更容易做到,但到目前为止还没有找到更好的解决方案。
解决方案
推荐阅读
- api - 如何使用 tda-api 获取股票期权训练数据?
- python - 另一个类中的实例变量(非单继承)
- python - Pandas 中 Index 和 MultiIndex 的组合(数据框中的嵌套 JSON 表示)
- c++ - 并非所有 std::packaged_tasks 在 std::async 调用中执行
- php - 如何在批量更新菜单和顶部菜单中添加自定义 woocommerce 订单状态?
- c - jsmn解析器:如何使用jsmn解析器获取json字符串中的所有键
- clickhouse - clickhouse 发生代码:999 where optimize MATERIALIZED VIEW table with ReplicatedReplacingMergeTree engine
- android - 如何使用 Builder 扩展 PlayerNotificationManager 以覆盖紧凑视图控件 Exo player 2.14
- javascript - 将 npm JS 包导出为独立脚本
- swiftui - 实现 Swift UI 选择器