Maximo/Oracle关联表SQL按gditwocertflag筛选返回多余数据问题
Maximo环境Oracle关联查询过滤结果异常问题
排查背景
- 该问题排查难度较低,但目前暂未定位到根因
- 运行环境为Maximo搭配Oracle数据库,涉及工单表与人工事务表的关联查询开发
查询预期
希望从工单与人工事务关联表中筛选出gditwocertflag(工单认证勾选标识,值为1代表勾选)为1的对应行,仅返回符合勾选条件的特定记录。
实际异常
当前查询会返回满足指定工单筛选条件的工单下所有关联人工行。
已完成排查动作
- 尝试过多种关联写法调整查询,返回结果一致,排除关联逻辑本身的问题
- 尝试嵌套子查询方案实现过滤,因子查询返回多行报错
当前使用的SQL语句
select w.wonum, l.laborcode as certifier from maximo.workorder W, maximo.labtrans L where w.wonum = l.refwo and w.status = 'CLOSE' and w.gditperformingrcc like ('MDKM%') and w.gditusertype = 'PMEL' and w.wonum not like ('QA%') and l.gditwocertflag = '1' and parent is null and (w.actfinish >= trunc(add_months(sysdate, -12), 'MM') and w.actfinish < trunc(add_months(sysdate, -0), 'MM')) ;
核心疑问
当前查询的筛选逻辑是否存在问题?
内容的提问来源于stack exchange,提问作者Aaron
相关产品推荐
相关产品推荐

