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
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral