ms-access - 根据另一个表中的值更新一个表中的字段
问题描述
我在表中有一个状态字段,其中测试步骤标记为pass
orfail
并且在另一个表中我必须更新测试用例(testID),pass
好像所有测试步骤(testID)都是pass
,fail
如果其中一个测试是 ,则测试用例fail
。
我testID
在两个表中都有共同的字段。
在第一个表中,一列是testID
,5 个步骤对应于该测试 ID,它们可以是pass
或fail
。
在第二张表中,我有一列我必须将状态标记为pass
或fail
基于总共 5 个步骤。
表格1
表 2
解决方案
以下查询分两步执行更新:第一个查询更新那些存在并通过的测试,第二个查询更新那些存在但失败的测试。
更新“通过”测试:
update table1 t1
set t1.teststatus = 'pass'
where t1.testID in
(
select t2.testID
from table2 t2
group by t2.testID
having min(t2.status) = max(t2.status) and min(t2.status) = 'pass'
)
更新“失败”的测试:
update table1 t1
set t1.teststatus = 'fail'
where t1.testID in
(
select t2.testID
from table2 t2
where t2.status = 'fail'
group by t2.testID
)
推荐阅读
- php - 有没有办法可以替换树枝中的部分字符串?
- reactjs - (React) 组件更新时如何将焦点放在第一个元素上?
- python - 使用和不使用参数的上下文装饰器
- python - 无法将 float64 列转换为 pandas 对象
- python - 总和在给定范围内的列表列表(作业)
- android - 从 YouTube 的共享菜单加载后,在我的 WebView 中打开 URL
- android - Android SQLite 获取表的大小(以 kb 为单位)
- wordpress - 将存档模板应用于帖子类别时未捕获的错误
- jquery - 仅在视口中播放视频一次
- angular - 如何在 ngx-slick-carousel 中显示最后一个元素