Попробуйте это
SELECT tabData.idData
FROM tabData INNER JOIN
tabDataDetail ON tabData.idData = tabDataDetail.fiData
WHERE tabDataDetail.fiSparePart IN (8837, 8969)
GROUP BY tabData.idData, tabDataDetail.fiSparePart
HAVING COUNT(distinct tabDataDetail.fiSparePart ) > 1
ORDER BY tabData.idData
Вот пример
create table #bla (idData int, fiSparePart int)
insert #bla values(1,8837)
insert #bla values(1,8969)
insert #bla values(2,8837)
insert #bla values(2,8837)
insert #bla values(2,8837)
SELECT idData
FROM #bla
WHERE fiSparePart IN (8837, 8969)
GROUP BY idData
HAVING COUNT(distinct fiSparePart) > 1