select *
from
(select * from T where Action = 'SENT') s
left outer join
(select * from T where Action = 'RECEIVED') r
on r.Module and s.Module and r.User = s.User and r.Batch = s.Batch
От ограниченото количество примерни данни изглежда, че можете уникално да определите съвпадение, като имате общ module
, user
и batch
. Не съм сигурен защо попаднахте на дубликати в заявките си. Единственият друг проблем изглежда е използването на външно присъединяване за запазване на „изпращанията“, които все още нямат „получаване“.
Мисля, че все още искахте всичко в резултата. Ако искате само несдвоените сценарии, добавете:
where r.Module is null