Olá,

Você quer ter um único for e mais de um select é isso?

for variavel  in select * from tabela loop

E dentro desse laço você quer ter um outro for com select ou apenas um
select?

[]s

Em 06/02/08, Rafael dos Santos Ferreira <[EMAIL PROTECTED]> escreveu:
>
>
>
> Bom dia a todos;
>
>
>
>    Bueno, tenho as seguintes tabelas :
>
>             Produto  – armazena o cadastro de produtos
>
>             Tmensais -  armazena o total das saídas mensais dos produtos
>
>                         ientrada – armazena as entradas dos produtos dada
> por notas fiscais
>
>                         Prodpedido – Armazena os pedidos feito dos
> produtos
>
>
>
>         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
>
>
>
> Um amigo do próprio fórum me passou a seguinte dica:
>
> **
>
> CREATE OR REPLACE FUNCTION ult_n_saidas(n integer) RETURNS SETOF
>
> > saida AS
>
> > $$
>
> > DECLARE
>
> >    r_sai saida%ROWTYPE;
>
> >    r_prod RECORD;
>
> >
>
> > BEGIN
>
> >    FOR r_prod IN SELECT DISTINCT cod_produto from produtos order
>
> > by cod_produto LOOP
>
> >       FOR r_sai IN SELECT * FROM saida
>
> >                     WHERE sai_produto = r_prod.cod_produto
>
> >                      ORDER BY sai_data DESC LIMIT n LOOP
>
> >             RETURN NEXT r_sai;
>
> >       END LOOP;
>
> >    END LOOP;
>
> >    RETURN;
>
> > END;
>
> > $$ language 'plpgsql';
>
>
>
>  A minha duvida é a seguinte, como eu faço para utilizar o operador
> Rowtype se eu tiver mais de uma select dentro do for?
>
>
>
> obrigado
>
>
>
>
>
> CREATE TABLE "public"."produtos" (
>
>   "pro_codigo" SERIAL,
>
>   "pro_descri" VARCHAR(40) NOT NULL,
>
>   "pro_grupo" INTEGER,
>
>   "pro_famili" INTEGER,
>
>   "pro_codbar" VARCHAR(13),
>
>   "pro_apelid" CHAR(17) NOT NULL,
>
>   "pro_unidad" VARCHAR(2) NOT NULL,
>
>   "pro_embala" INTEGER,
>
>   "pro_pesuni" NUMERIC(10,2),
>
>   "pro_aliicm" CHAR(2),
>
>   "pro_tribut" CHAR(2),
>
>   "pro_cusmed" NUMERIC(7,3),
>
>   "pro_cusrep" NUMERIC(7,3),
>
>   "pro_preven" NUMERIC(7,3),
>
>   "pro_marluc" INTEGER,
>
>   "pro_dtalpr" DATE,
>
>   "pro_quaest" NUMERIC(9,3),
>
>   "pro_ponped" NUMERIC(9,3),
>
>   "pro_ordent" CHAR(1),
>
> ) WITHOUT OIDS;
>
>
>
>
>
>
>
>
>
>
>
> CREATE TABLE "public"."tmensais" (
>
>   "tme_codpro" INTEGER NOT NULL,
>
>   "tme_data" DATE NOT NULL,
>
>   "tme_quasai" NUMERIC(12,3),
>
>   "tme_quaent" NUMERIC(7,3),
>
>   "tme_cusmed" NUMERIC(7,3),
>
>   "tme_cusrep" NUMERIC(7,3),
>
>   "tme_preven" NUMERIC(7,3),
>
>   "tme_marluc" INTEGER,
>
>   "tme_quaest" NUMERIC(12,3),
>
> ) WITHOUT OIDS;
>
>
>
>
>
> CREATE TABLE "public"."mentrada" (
>
>   "men_refere" SERIAL,
>
>   "men_docume" VARCHAR(10) NOT NULL,
>
>   "men_codpro" INTEGER,
>
>   "men_codpes" INTEGER,
>
>   "men_data" DATE,
>
>   "men_quanti" NUMERIC(7,3),
>
>   "men_valuni" NUMERIC(7,3),
>
>   "men_despes" NUMERIC(7,3),
>
> ) WITHOUT OIDS;
>
>
>
>
>
>
>
> CREATE TABLE "public"."ientrada" (
>
>   "ien_refere" SERIAL,
>
>   "ien_entrada" INTEGER NOT NULL,
>
>   "ien_codpro" INTEGER NOT NULL,
>
>   "ien_quantidade" NUMERIC(10,2),
>
>   "ien_valor" NUMERIC(10,2),
>
>   "ien_salvar" INTEGER DEFAULT 0,
>
> ) WITHOUT OIDS;
>
>
>
>
>
>
>
> CREATE TABLE "public"."prodpedido" (
>
>   "ppe_pedido" INTEGER NOT NULL,
>
>   "ppe_ordem" SERIAL,
>
>   "ppe_coditem" INTEGER,
>
>   "ppe_quantid" NUMERIC(10,2),
>
>   "ppe_preuni" NUMERIC(10,2),
>
>   "ppe_valipi" NUMERIC(10,2),
>
> ) WITHOUT OIDS;
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 
João Paulo
www.dextra.com.br/postgres
PostgreSQL
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a