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-using.html
 e 
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1793764100346222947
 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, 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]
>


Responder a