Bah, essa daqui fazia tempo que eu queria ver um banco que suportasse. Quantas vezes não quebrei a cabeça tentando fazer isso no SQL Server.
O mais interessante é que foi muito intuitivo... Em poucas linhas, poucos segundos e com pouco código, fiz esse aggregate novo, quase no chute:
create function join_state(varchar, varchar)
returns varchar
as 'select $1 || '','' || $2;'
language sql immutable strict;
create aggregate join (basetype = varchar, sfunc = join_state, stype = varchar);
Daí, consultas desse tipo já podem ser feitas:
select grupo.nome, count(item.*), join(item.nome)
from grupo join item
Perfeito, não?
Documentação em: Manuals: PostgreSQL 7.4: CREATE AGGREGATE
P.S.: parece que no SQL Server 2005 já é possível fazer isso, usando .NET.
Nenhum comentário:
Postar um comentário