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/Desenvolvedor de Sistemas Auto Pratense Ltda *- Fone: (0XX54) 3242-3620 *- Fax: (0XX54) 3242-3648 * - E-mail: <mailto:marc...@autopratense.com.br> marc...@autopratense.com.br * - WWW: www.autopratense.com.br _____ De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome de Elis Azevedo Nery Enviada em: quinta-feira, 26 de fevereiro de 2009 11:22 Para: oracle_br@yahoogrupos.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...@autopratens <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.maisbuscados.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]