Вы можете попробовать использовать ROW_NUMBER () и затем использовать CASE для отображения содержимого столбца только в первой строке. Не пытаясь понять ваши данные, я предлагаю следующее:
WITH
Test_Data AS
(
SELECT 'CI 01' AS CHANGE_ID, 'SPTI 01' AS STATUS, 'PTI 01' AS PARENT_TASK_ID, 'PTN 01' AS PARENT_TASK_NAME, 'PTS 01' AS PARENT_TASK_STATUS, 'ITS 01a' AS INFRA_TASK_STATUS, 'ICI 01a' AS INFRA_CHANGE_ID, 'ITI 01a' AS INFRA_TASK_ID, 'ITN 01a' AS INFRA_TASK_NAME FROM DUAL UNION ALL
SELECT 'CI 01' AS CHANGE_ID, 'SPTI 01' AS STATUS, 'PTI 01' AS PARENT_TASK_ID, 'PTN 01' AS PARENT_TASK_NAME, 'PTS 01' AS PARENT_TASK_STATUS, 'ITS 01b' AS INFRA_TASK_STATUS, 'ICI 01b' AS INFRA_CHANGE_ID, 'ITI 01b' AS INFRA_TASK_ID, 'ITN 01b' AS INFRA_TASK_NAME FROM DUAL UNION ALL
SELECT 'CI 01' AS CHANGE_ID, 'SPTI 01' AS STATUS, 'PTI 01' AS PARENT_TASK_ID, 'PTN 01' AS PARENT_TASK_NAME, 'PTS 01' AS PARENT_TASK_STATUS, 'ITS 01c' AS INFRA_TASK_STATUS, 'ICI 01c' AS INFRA_CHANGE_ID, 'ITI 01c' AS INFRA_TASK_ID, 'ITN 01c' AS INFRA_TASK_NAME FROM DUAL UNION ALL
SELECT 'CI 02' AS CHANGE_ID, 'SPTI 02' AS STATUS, 'PTI 02' AS PARENT_TASK_ID, 'PTN 02' AS PARENT_TASK_NAME, 'PTS 02' AS PARENT_TASK_STATUS, 'ITS 02a' AS INFRA_TASK_STATUS, 'ICI 02a' AS INFRA_CHANGE_ID, 'ITI 01c' AS INFRA_TASK_ID, 'ITN 01c' AS INFRA_TASK_NAME FROM DUAL
)
,Detail AS
(
SELECT
Change_id
,Status
,Parent_Task_Id
,Parent_Task_Name
,Parent_Task_Status
,Infra_Task_Status
,Infra_Change_Id
,Infra_Task_Id
,Infra_Task_Name
,ROW_NUMBER() OVER (PARTITION BY Change_id, Status,Parent_Task_Id, Parent_Task_Name, Parent_Task_Status ORDER BY Infra_Task_Status) AS Test_Condition
FROM Test_Data
)
SELECT
CASE WHEN Test_Condition = 1 THEN Change_id ELSE NULL END AS Change_id
,CASE WHEN Test_Condition = 1 THEN Status ELSE NULL END AS Status
,CASE WHEN Test_Condition = 1 THEN Parent_Task_Id ELSE NULL END AS Parent_Task_Id
,CASE WHEN Test_Condition = 1 THEN Parent_Task_Name ELSE NULL END AS Parent_Task_Name
,CASE WHEN Test_Condition = 1 THEN Parent_Task_Status ELSE NULL END AS Parent_Task_Status
,Infra_Task_Status
,Infra_Change_Id
,Infra_Task_Id
,Infra_Task_Name
FROM Detail
;
