【发布时间】:2021-03-16 14:39:19
【问题描述】:
很确定这是一个简单的修复,但我迷路了。尝试从存在复选框 = 1 (gditwocertflag) 的联接表中提取数据。我只想查看已检查的特定行。但是我正在从符合特定标准的工作订单中提取每个劳动力行,并检查该块。我试图以相同的结果加入不同的方式,所以我很确定问题不是加入。还尝试了在返回多于 1 行的子查询上出错的嵌套选择。这就是我现在所处的位置。是我这样称呼的吗?
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'))
;
【问题讨论】:
-
样本数据和期望的结果真的很有帮助。
-
您是说您正在使用此查询获取
l.gditwocertflag = '1'不正确的行?将此添加到您的选择子句中:select w.wonum, l.laborcode as certifier, l.gditwocertflag。你真的得到标志不是 1 的行吗? -
谢谢。我添加了 certflag 并注意到它们确实都是 1,这没有任何意义。我们的数据库与其他 2 个位置相关联,并且多个条目巧合的是我们有一个匹配的工作订单号(我被告知永远不会发生)。我过滤了其他 2 个位置并解决了问题。我从没想过会发生这种情况。