Em 28 de fevereiro de 2014 09:53, Fabrízio de Royes Mello < [email protected]> escreveu:
> On 27-02-2014 18:12, Carlos Antônio Pereira (VidaUTI) wrote: > >> O que você poderia tentar é construir diferentes SELECTs com >>> diferentes RETURNs mas, neste caso, creio que você teria problemas nas >>> chamadas da função (quando você retorna um RECORD você precisa >>> especificar na chamada a lista de campos, com respectivos tipos, que >>> está(ão) sendo retornado(s)). >>> >> >> >> De acordo com a documentação, RECORD é um tipo de estrutura desconhecido >> (apenas endereçado). >> Isso para mim resolveria se a um determinado RECORD fosse possível >> adicionar outros RECORDS. >> >> Numa solução de junção, todas as tabelas participam do relacionamento, >> mesmo quando não dizem >> respeito ao contexto. Assim sendo, o retorno da tabela ligada será nulo >> em alguns casos, mas o >> trabalho do BD vai existir para que se determine a nulidade. >> >> Enfim, foi apresentada uma solução com matrizes que resolve o problema. >> Muito obrigado pela resposta, >> >> > Carlos, > > Estou chegando um pouco tarde a essa discussão, mas resumindo o que vc > precisa seria uma função com um retorno *variável*, ou seja, com diferentes > tipos de dados e valores?? > > Att, > > -- > Fabrízio de Royes Mello Timbira - http://www.timbira.com.br/ > PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > Bom dia Fabrizio, pelo que entendi, a função array_to_string resolveu. ele precisava juntar num unico campo varias informações que estavam em campos diferentes e varias linhas no banco de dados. exemplo: table notafiscal (nrdocfiscal, dspessoa, vlvalor 333 pessoa X 90,00 detnotafiscal(cddetnotafiscal, nrdocfiscal, dsproduto) 1 333 coca-cola 30,00 2 333 cerveja 30,00 3 333 agua min. 30,00 ele queria o seguinte num select juntar todos os itens por exemplo: select dspessoa, nrdocfiscal, vltotal (SELECT array_to_string( array(Select distinct (dsproduto) From docfiscalitem WHERE cddocfiscal=11), ';')) from docfiscal where cddocfiscal=11 "CONSUMIDOR"; 333; 90,00; "coca-cola;cerveja;agua min." -- Douglas Fabiano Spech
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
