Tabela de teste:
Selecionar tudo
create table thomas (name varchar2(100) );
begin
insert into thomas values ('Joao');
insert into thomas values ('Alex');
insert into thomas values ('Sara');
insert into thomas values ('Jose');
insert into thomas values ('Thomas');
end;
Daí eu fiz essa query: No caso, eu sei que pode ter no máximo 5 nomes.
Selecionar tudo
select
name
, lag (name||', ',5,null) over (order by name )
|| lag (name||', ',4,null) over (order by name )
|| lag (name||', ',3,null) over (order by name )
|| lag (name||', ',2,null) over (order by name )
|| lag (name||', ',1,null) over (order by name )
|| lag (name||', ',0,null) over (order by name ) a
from thomas
order by name;
Resultado:
Selecionar tudo
SQL> select
2 name
3 , lag (name||', ',5,null) over (order by name )
4 || lag (name||', ',4,null) over (order by name )
5 || lag (name||', ',3,null) over (order by name )
6 || lag (name||', ',2,null) over (order by name )
7 || lag (name||', ',1,null) over (order by name )
8 || lag (name||', ',0,null) over (order by name ) a
9 from thomas
10 order by name;
NAME A
---------- --------------------------------
Alex Alex,
Joao Alex, Joao,
Jose Alex, Joao, Jose,
Sara Alex, Joao, Jose, Sara,
Thomas Alex, Joao, Jose, Sara, Thomas,
SQL>
