Resolvido com o partition by.
Obrigado chiappa. De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] Em nome de J. Laurindo Chiappa Enviada em: Wednesday, 20 de June de 2012 14:36 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Re: consulta select Neste momento não tenho o tempo pra te montar um exemplo completo, mas pelo que entendi o que vc quer é uma soma Particionada dos valores de ICMS, mas no caso particionando por nota fiscal : http://askanantha.blogspot.com.br/2007/10/running-total-or-cumulative-sum-us ing.html e http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:17937641 00346222947 são exemplos, e veja que em ambos além do OVER foi indicado um PARTITION, acho que é isso q tá faltando.... []s Chiappa --- Em oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> , Márcio - Grupos Oracle <marcio_cbj@...> escreveu > > Boas. > > > > Depois de tanto tempo sem desenvolver, enferrujei total. > > > > Preciso de ajuda numa consulta, é o seguinte, tenho as informações e tenho > um campo que tem o valor total da nota, e tenho outro campo que tem o ICMS > para cada item da nota. Eu preciso somar o valor do ICMS e descontar do > total da nota. Para uma nota funciona, mas quando coloco para todas o select > fica doidão. > > > > Estou tentando utilizar o OVER, mas não estão agrupando por nada e está > dando erro. > > > > SELECT dbnp.db_notap_nro AS NOTA, > > round(DBNF.DB_NOTA_VLR_PROD,2) + > sum(round(dbnp.db_notap_vlr_icms,2)) OVER(ORDER BY dbnp.db_notap_nro) > "Valor Sem Tributação", > > round(DBNF.DB_NOTA_VLR_PROD,2) AS "Valor Total Nota", > > dbnf.db_nota_cond_pgto AS "Pagamento", > > dbnf.db_nota_operacao AS "Natureza Operação", > > DBNF.DB_NOTA_DT_EMISSAO, > > dbc.db_cli_nome AS "Cliente", > > dbc.db_cli_cidade AS "Cidade", > > dbc.db_cli_situacao AS "Situaçao", > > dbc.db_cli_lpreco AS "Lista de Preço", > > dbc.db_cli_regiao AS "Micro Região", > > dbp.db_prod_descricao AS "Produto", > > dbtr.db_tbrep_nome AS "Representante", > > dbtrs.db_tbrep_nome AS "Superior", > > dbtf.db_tbfam_descricao AS "Categoria do Produto", > > dbtra.db_tbatv_descricao AS "Ramo Atividade", > > case when dbto.db_tbops_fat = 'S' then 'Venda' > > when dbto.db_tbops_fat = 'B' then 'Bonificação' > > when dbto.db_tbops_fat = 'D' then 'Devolução' > > when dbto.db_tbops_fat = 'N' then 'Outras Saídas' > > else 'Transferência' > > end AS "Tipo Nota" > > FROM xxx.DB_NOTA_PROD DBNP, xx.db_nota_fiscal dbnf, xx.db_cliente dbc, > xx.db_produto dbp, > > xx.db_tb_repres dbtr, xx.db_tb_repres dbtrs, xx.db_tb_familia dbtf, > > xx.db_tb_ramo_ativ dbtra, xx.db_tb_opers dbto > > WHERE dbnp.db_notap_empresa = '016' > > AND DBNP.DB_NOTAP_EMPRESA = dbnf.db_nota_empresa > > AND DBNP.DB_NOTAP_NRO = DBNF.db_nota_nro > > AND DBNP.DB_NOTAP_SERIE = DBNF.DB_NOTA_SERIE > > AND DBC.DB_CLI_CODIGO = DBNF.DB_NOTA_CLIENTE > > AND DBNP.DB_NOTAP_PRODUTO = DBP.DB_PROD_CODIGO > > AND DBNF.DB_NOTA_REPRES = DBTR.DB_TBREP_CODIGO > > AND dbtr.db_tbrep_superior = dbtrs.db_tbrep_codigo > > AND DBP.DB_PROD_FAMILIA = DBTF.DB_TBFAM_CODIGO > > AND DBNF.DB_NOTA_OPERACAO = DBTO.DB_TBOPS_COD > > and dbc.db_cli_ramativ = dbtra.db_tbatv_codigo > > AND DBNF.DB_NOTA_DT_EMISSAO BETWEEN '02-JAN-2012' AND '02-JAN-2012' > > --AND DBNP.DB_NOTAP_NRO = 11727 > > --AND DBNP.DB_NOTAP_SERIE = 'D00' > > /*group by dbnp.db_notap_nro, > > DBNF.DB_NOTA_VLR_PROD, > > dbnf.db_nota_cond_pgto, > > dbnf.db_nota_operacao, > > DBNF.DB_NOTA_DT_EMISSAO, > > dbc.db_cli_nome, > > dbc.db_cli_cidade, > > dbc.db_cli_situacao, > > dbc.db_cli_lpreco, > > dbc.db_cli_regiao, > > dbp.db_prod_descricao, > > dbtr.db_tbrep_nome, > > dbtrs.db_tbrep_nome, > > dbtf.db_tbfam_descricao, > > dbtra.db_tbatv_descricao, > > dbto.db_tbops_fat*/ > > > > [As partes desta mensagem que não continham texto foram removidas] > [As partes desta mensagem que não continham texto foram removidas]