Em 28 de fevereiro de 2014 10:49, Douglas Fabiano Specht < [email protected]> escreveu:
> > > > 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 > > > o resultado seria: "pessoa X"; 333; 90,00; "coca-cola;cerveja;agua min." e não "CONSUMIDOR"; 333; 90,00; "coca-cola;cerveja;agua min." -- Douglas Fabiano Specht
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
