Вы не указали базу данных, которую используете.Если это Oracle, то функция LISTAGG может помочь:
SQL> -- This is your current output:
SQL> with test (case_id, action_name, status_Code) as
2 (select 1, 'John', 'valid' from dual union all
3 select 1, 'Peter', 'valid' from dual
4 )
5 -- Adjust it using this:
6 select
7 case_id,
8 listagg(action_name, ', ') within group (order by action_name) action_name,
9 status_code
10 from test
11 group by case_id, status_code;
CASE_ID ACTION_NAME STATU
---------- ------------------------------ -----
1 John, Peter valid
SQL>
В противном случае посмотрите, предлагает ли ваша база данных такую функцию агрегация ;Я знаю, что некоторые из них делают.