Desculpa meu email do yahoo bagunço a resposta segue novamente

select cod_produto,
ent_saida,
qte_mov,
sum(decode(ent_saida,'ENTRADA',qte_mov,qte_mov*-1)) over (order by rownum)
from estoque;

[]


 



________________________________
From: alex borgmann <alexborgm...@yahoo.com>
To: oracle_br@yahoogrupos.com.br
Sent: Thursday, February 26, 2009 12:21:34 PM
Subject: Re: RES: [oracle_br] Kardex ou Extrato de saldo de estoque.


Boa tarde, Marcelo,

Experimenta com função analitica, 

select COD_PRODUTO
,sumFROM ESTOQUE ;
(decode( ENT_SAIDA ,'ENTRADA',QTE_ MOV,QTE_MOV* -1)) over(order by rownum)
[]

____________ _________ _________ __
From: Marcelo <marc...@autopratens e.com.br>
To: oracle...@yahoogrup os.com.br
Sent: Thursday, February 26, 2009 11:43:49 AM
Subject: RES: [oracle_br] Kardex ou Extrato de saldo de estoque.

Não, se fosse simples assim não teria perguntado, rsss.

Eu quero montar uma query que me exiba o saldo a cada movimentação, como um
Kardex.

Tentei algo aqui com a função LAG, que permite retornar valores de linhas
anteriores, mas não consegui fazer funcionar, pois não consigo pegar o saldo
anterior e sim apenas a quantidade movimentada na linha anterior.

Assim é o resultado da query que eu espero obter.

COD_PRODUTO ENT_SAIDA QTE_MOV SALDO
------------ ------------ ---------- ------
PRODUTO ENTRADA 10 10
PRODUTO ENTRADA 5 15
PRODUTO SAIDA 3 12
PRODUTO SAIDA 6 6

Entendeu?

Marcelo Alberto Lauschner 

Analista/Desenvolve dor de Sistemas

Auto Pratense Ltda

*- Fone: (0XX54) 3242-3620

*- Fax: (0XX54) 3242-3648

* - E-mail: <mailto:marcelo@ autopratens e.com.br>
marc...@autopratens e.com.br

* - WWW: www.autopratense. com.br

_____ 

De: oracle...@yahoogrup os.com.br [mailto:oracle_ b...@yahoogrup os.com.br] Em
nome de Elis Azevedo Nery
Enviada em: quinta-feira, 26 de fevereiro de 2009 11:22
Para: oracle...@yahoogrup os.com.br
Assunto: Res: [oracle_br] Kardex ou Extrato de saldo de estoque.

É disso que você precisa?

select COD_PRODUTO
,SUM(decode( ENT_SAIDA ,'ENTRADA',QTE_ MOV,QTE_MOV* -1)) SALDO
FROM ESTOQUE 
GROUP BY COD_PRODUTO

____________ _________ _________ __
De: Marcelo Alberto Lauschner <marc...@autopraten s
<mailto:marcelo% 40autopratense. com.br> e.com.br>
Para: oracle...@yahoogrup <mailto:oracle_ br%40yahoogrupos .com.br> os.com.br
Enviadas: Quinta-feira, 26 de Fevereiro de 2009 14:13:56
Assunto: [oracle_br] Kardex ou Extrato de saldo de estoque.

Estou quebrando a cabeça para tentar montar uma query que consiga
retornar numa coluna o saldo de estoque de um produto a cada
movimento, como um extrato de conta bancária.

Connected to Oracle Database 11g Enterprise Edition Release
11.1.0.6.0
Connected as SIGA

SQL> CREATE TABLE ESTOQUE(COD_ PRODUTO VARCHAR2(15) ,ENT_SAIDA VARCHAR2
(7),QTE_MOV NUMBER);

Table created

SQL> INSERT INTO ESTOQUE('PRODUTO' ,'ENTRADA' ,10);
SQL> INSERT INTO ESTOQUE VALUES ('PRODUTO',' ENTRADA', 10);
1 row inserted
SQL> INSERT INTO ESTOQUE VALUES ('PRODUTO',' ENTRADA', 5);
1 row inserted
SQL> INSERT INTO ESTOQUE VALUES ('PRODUTO',' SAIDA',3) ;
1 row inserted
SQL> INSERT INTO ESTOQUE VALUES ('PRODUTO',' SAIDA',6) ;
1 row inserted
SQL> SELECT * FROM ESTOQUE ORDER BY ROWID;

COD_PRODUTO ENT_SAIDA QTE_MOV
------------ --- --------- ----------
PRODUTO ENTRADA 10
PRODUTO ENTRADA 5
PRODUTO SAIDA 3
PRODUTO SAIDA 6

Ao final adicionar uma coluna que tenha o saldo linha a linha.
COD_PRODUTO ENT_SAIDA QTE_MOV SALDO
------------ --- --------- ---------- ------
PRODUTO ENTRADA 10 10
PRODUTO ENTRADA 5 15
PRODUTO SAIDA 3 12
PRODUTO SAIDA 6 6

Espero que alguém tenha uma luz para me ajudar.

At.

Marcelo Alberto Lauschner.

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca <http://br.maisbusca dos.yahoo. com> dos.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]





      

[As partes desta mensagem que não continham texto foram removidas]

Responder a