pva, я бы всё-таки работал с изначальной таблицей
где-то примерно так:
Код:
select groupId, дата, count (*)
from услуги
where дата>'2008-08-15'
group by groupId, дата
having count (*)>1
на выходе получаем список перекрытий
(в примере не понял соотношение dateIn и dateOut)