Попробуйте CTE:
WITH lookup AS (
select ClientID, BatchID, JobID, SubJobID
from data with(nolock)
where lookupcode = '111111111111'
)
SELECT ClientID, BatchID, jobid, subjobid, count(clientid) as Total
FROM data with(nolock)
WHERE batchid in (select BatchID from lookup)
and clientid in (select ClientID from lookup)
and jobid in (select jobid from lookup)
and subjobid in (select subjobid from lookup)
and entrytype not in ('C', 'M')
group by clientid,BatchID, jobid, subjobid
Однако ваше оригинальное решение не реализует условие, которое вы указали в комментариях:
найти все строки, имеющие одну и ту же партию
работа и подработка
, поскольку вы не проверяете комбинацию задания и подзадачи.
Если вам нужно объединить некоторые поля для точных совпадений, попробуйте условие, подобное этому
WHERE EXISTS(
SELECT 1
FROM lookup
WHERE lookup.jobid = data.jobid AND lookup.subjobid = data.subjobid
)
Поскольку у нас нет структуры таблиц и примеров данных, нам сложно проверить правильность наших решений.