Olá, O aggregate pode ajudar você.
http://www.postgresql.org/docs/8.3/interactive/xaggr.html []s 2008/2/7, Rafael dos Santos Ferreira <[EMAIL PROTECTED]>: > > O que eu precisava era mais ou menos isso: > > CREATE OR REPLACE FUNCTION "public"."fc_conspedido" (nomproduto varchar, > codgrupo integer, codfamilia integer) RETURNS SETOF "pg_catalog"."record" AS > $body$ > declare > retorno record; > rproduto record; > rentrada record; > rsaida record; > begin > for rproduto in > select produtos.pro_codigo--, produtos.pro_descri, > produtos.pro_quaest, > produtos.pro_preven, produtos.pro_ponped, > produtos.pro_cusmed, > produtos.pro_cusrep, produtos.pro_tribut, > produtos.pro_unidad, > (produtos.pro_preven*produtos.pro_quaest) as total, > produtos.pro_grupo, > - produtos.pro_famili, produtos.pro_embala, > produtos.pro_pesuni, > grupos.gru_descri, familia.fam_descri > from > produtos,grupos,familia > where > produtos.pro_famili = familia.fam_codigo and > produtos.pro_grupo = grupos.gru_codigo and > familia.fam_codgru = grupos.gru_codigo > order by > produtos.pro_grupo,produtos.pro_famili, > produtos.pro_descri loop > > > for rentrada in select produtos.pro_descri, > mentrada.men_refere, > produtos.pro_cusmed,produtos.pro_pesuni, > produtos.pro_preven, > produtos.pro_cusrep,mentrada.men_docume, > mentrada.men_codpes, > mentrada.men_data,ientrada.ien_quantidade, > ientrada.ien_valor, > pessoas.pes_descri > from > mentrada, produtos,pessoas ,ientrada > where > produtos.pro_codigo = ientrada.ien_codpro > and > pessoas.pes_codigo = mentrada.men_codpes > and > mentrada.men_refere = ientrada.ien_entrada > and > ientrada.ien_codpro = rproduto.pro_codigo > and > ientrada.ien_salvar = 3 > order by men_data DESC limit 12 loop > > > end loop; > return next retorno; > end loop; > end; > $body$ > LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER; > O problema é que eu gostaria de retornar os 12 ultimos registros tudo na > mesma linha. E não em linha diferente. > > Exemplo : > > | cod | Produto | Data entrada | Quantidade | > > --------------------------------------------------------------------------- > > 1 Arroz 01/01/2008 10,00 > 1 Arroz 02/02/2008 20,00 > 1 Arroz 02/03/2008 25,00 > > > Quando na verdade eu precisava disso: > > | cod | Produto | Data entrada | Quantidade |Data Entrada| > Quantidade | Data Entrada| Quantidade > > ------------------------------------------------------------------------------------------------------------------------------------------------------ > > | 1 | Arroz | 01/01/2008 | 10,00 | > 02/02/2008 | 20,00 | 02/03/2008 | 25,00 > > > > obrigado > > > 2008/2/6, Roberto Mello <[EMAIL PROTECTED]>: > > > > Rafael, eu gostaria que voce reformulasse sua pergunta. Nao entendi > > qual e' o seu objetivo e o motivo do mesmo. > > > > 2008/2/6 Rafael dos Santos Ferreira <[EMAIL PROTECTED]>: > > > > > > > > > Eu preciso fazer uma junção destas tabelas. > > > > > > select * > > > select * from tmensais where tmensais. tme_codpro = ??? limit 5) > > > and > > > (select * from ientrada where ientrada. ien_codpro = ??? limit 10) > > > and > > > (select * from prodpedido where prodpedido.ppe_coditem = ??? limit 10) > > > from produto > > > > Por que? O que queres obter com a "juncao"? Nao estou vendo juncao > > nenhuma nisso aqui. > > > > -Roberto > > _______________________________________________ > > pgbr-geral mailing list > > pgbr-geral@listas.postgresql.org.br > > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- João Paulo www.dextra.com.br/postgres PostgreSQL
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral