如果其中一个ID包含特定单词,则从结果中删除所有重复的ID

问题描述 投票:0回答:2

全部,

我有一个Logs表,该表显示任务ID的工作流程,我想显示没有特定步骤的ID。

问题:我使用以下查询时遇到的问题是任务ID重复了。

预期结果:

删除所有相同的重复任务ID,如果其中之一包含STEPNAME作为'Cart'

查询:

SELECT * 
FROM MV.Tasks 
Where WF_TASK_NAME = 'ExemptionTask'
and stepname not in ('Cart')

enter image description here

sql oracle
2个回答
1
投票

我认为您想要not exists

select t.*
from mv.tasks t
where 
    wf_task_name = 'ExemptionTask'
    and not exists (
        select 1 
        from mv.tasks t1 
        where t1.id = t.id and t1.wf_task_name = t.wf_task_name and t1.step_name = 'cart'
    )

0
投票
SELECT * 
FROM MV.Tasks 
Where WF_TASK_NAME = 'ExemptionTask'
and id not in (select distinct id from MV.Tasks where step_name='cart')
© www.soinside.com 2019 - 2024. All rights reserved.