Если вы хотите агрегировать строки, то давайте использовать функцию агрегирования:
select PCD.CHANGE_ID PARENT_CHANGE_ID,
MIN(ICD.CHANGE_ID) INFRA_CHANGE_ID,
PCT.TASK_ID PARENT_TASK_ID
FROM
V_CHANGE_ALL_DATA PCD
JOIN V_CHANGE_TASKS PCT ON PCD.CHANGE_ID=PCT.CHANGE_ID AND PCT.STATUS NOT IN ('Closed','Completed','Cancelled','Staged')
JOIN V_CHANGE_RELATIONS CR ON PCD.CHANGE_ID=CR.REQUEST_ID
JOIN V_CHANGE_ALL_DATA ICD ON ICD.CHANGE_ID=CR.CHANGE_ID
where
PCD.TEMPLATE LIKE 'slc-asset%provision'
AND ICD.TEMPLATE LIKE '%server-lifecycle:global%'
AND (ICD.STATUS_REASON is null
OR ICD.STATUS_REASON = 'Final Review Complete'
OR ICD.STATUS_REASON = 'Automatically Closed')
And TRUNC(TIMEZONE_CONVERT(PCD.SCHEDULED_START_DATE)) >= to_date('2019-04-29','YYYY-MM-DD')
AND PCD.CHANGE_ID = 'CRQ000001327088'
GROUP BY pcd.change_id, pct.task_id
Это просто выберет минимальный идентификатор изменения для каждого родительского изменения идентификатора и комбинации родительских задач.