where语句中的过滤器不适用于oracle查询
filters in where statement not working for oracle query
在我的 oracle 查询中:
Select
d.LVL_NAME
,d.SCHEDULE_DESC
,d.SCHEDULE_TYPE
,s.DUE_DTTM
,s.WARNING_DTTM
,s.DELINQUENT_DTTM
,d.EST_WORK_DURATION
,d.EST_WORK_DURATION_UNIT
,l.ENTITY_GRP
from smsdw.TW_SCHEDULE_DEF d
RIGHT OUTER JOIN
smsdw.TW_ENTITY_SCHED s on
d.LVL_NAME = s.ENTITY
LEFT OUTER JOIN smsdw.TW_ENTITY_GRP_LST l on
s.ENTITY = l.ENTITY
WHERE l.ENTITY_GRP NOT LIKE '%Wet%'
AND l.ENTITY_GRP LIKE 'Implant%' or l.ENTITY_GRP LIKE 'Thermal%'
and s.DUE_DTTM between sysdate and sysdate +30 ;
我不知道如何让“NOT LIKE WET”和“sysdate”过滤器在我的 WHERE 语句中起作用。
有什么想法吗?
我插入了结果的图像。
我已经尝试了许多通过谷歌搜索找到的不同方法,但我仍然得到与我的问题中列出的相同的结果。
在您的 OR 周围添加 ()。假设所有 ANDS 都适用于整个集合。
WHERE l.ENTITY_GRP NOT LIKE '%Wet%'
AND (l.ENTITY_GRP LIKE 'Implant%' or l.ENTITY_GRP LIKE 'Thermal%')
AND s.DUE_DTTM between sysdate and sysdate +30 ;
发生的事情是 OR 说带回任何像热的组,不管它是否像湿的并且不在 due_dttm 日期范围内。
在我的 oracle 查询中:
Select
d.LVL_NAME
,d.SCHEDULE_DESC
,d.SCHEDULE_TYPE
,s.DUE_DTTM
,s.WARNING_DTTM
,s.DELINQUENT_DTTM
,d.EST_WORK_DURATION
,d.EST_WORK_DURATION_UNIT
,l.ENTITY_GRP
from smsdw.TW_SCHEDULE_DEF d
RIGHT OUTER JOIN
smsdw.TW_ENTITY_SCHED s on
d.LVL_NAME = s.ENTITY
LEFT OUTER JOIN smsdw.TW_ENTITY_GRP_LST l on
s.ENTITY = l.ENTITY
WHERE l.ENTITY_GRP NOT LIKE '%Wet%'
AND l.ENTITY_GRP LIKE 'Implant%' or l.ENTITY_GRP LIKE 'Thermal%'
and s.DUE_DTTM between sysdate and sysdate +30 ;
我不知道如何让“NOT LIKE WET”和“sysdate”过滤器在我的 WHERE 语句中起作用。
有什么想法吗?
我插入了结果的图像。
我已经尝试了许多通过谷歌搜索找到的不同方法,但我仍然得到与我的问题中列出的相同的结果。
在您的 OR 周围添加 ()。假设所有 ANDS 都适用于整个集合。
WHERE l.ENTITY_GRP NOT LIKE '%Wet%'
AND (l.ENTITY_GRP LIKE 'Implant%' or l.ENTITY_GRP LIKE 'Thermal%')
AND s.DUE_DTTM between sysdate and sysdate +30 ;
发生的事情是 OR 说带回任何像热的组,不管它是否像湿的并且不在 due_dttm 日期范围内。