Kamayocks escreveu:
> --Olá todos!
> --Preciso de um "help".
> --O lance é o seguinte:
> --Há uma tabela de alunos (cod integer, nome varchar(50)),
> --   uma de atividades (cod integer, titulo varchar(30))
> --   e uma associativa, Aluno_atividade (cod_aluno integer, cod_atvidade
> integer)
> --   (um aluno com uma ou mais atividades / uma atividade com um alunos ou
> mais).
> 
> create table alunos(cod integer, nome varchar(10));
> create table atividades (cod integer, titulo varchar(20));
> create table Aluno_atividade (cod_aluno integer, cod_atvidade integer) ;
> -- Alunos
> insert into Alunos values(1,'Joaquim');
> insert into Alunos values(2,'Maria');
> insert into Alunos values(3,'Joana');
> --Atividade
> insert into atividades values(1,'Arte Plástica');
> insert into atividades values(2,'Esporte');
> insert into atividades values(3,'Musica');
> --Aluno_Atividade
> insert into aluno_atividade values(1,1);
> insert into aluno_atividade values(1,2);
> insert into aluno_atividade values(1,3);
> insert into aluno_atividade values(2,1);
> insert into aluno_atividade values(3,2);
> insert into aluno_atividade values(3,1);
> 
> --Ao selecionar os dados...
> select nome, titulo
>   from alunos al
>   join Aluno_atividade aa on aa.cod_aluno = al.cod
>   join atividades at on at.cod = aa.cod_atvidade
> 
> --obtenho....
> 
> --nome       titulo
> ------------ --------------------
> --Joaquim    Arte Plástica
> --Joaquim    Esporte
> --Joaquim    Musica
> --Maria      Arte Plástica
> --Joana      Esporte
> --Joana      Arte Plástica
> 
> --Eu gostaria de obter os registros acima da seguinte forma (array):
> 
> --nome       titulo
> ------------ --------------------
> --Joaquim    Arte Plástica, Esporte, Musica
> --Maria        Arte Plástica
> --Joana        Arte Plástica, Esporte
> 
> -- É possível obter dados de uma tabela filha em uma única coluna? Se
> afirmativo, podem me passar o caminho das pedras?!
> 


Você precisa utilizar uma função de agregação.

Veja o exemplo array_accum em:
http://www.postgresql.org/docs/8.1/interactive/xaggr.html

[]s
Osvaldo

        

        
                
_______________________________________________________ 
Você quer respostas para suas perguntas? Ou você sabe muito e quer compartilhar 
seu conhecimento? Experimente o Yahoo! Respostas !
http://br.answers.yahoo.com/
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a