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

Reply via email to