[firebase-br] soma na view

W O sistemas2000profesional em gmail.com
Ter Jan 28 22:59:41 -03 2014


En tu último COALESCE() no pongas 0, pon 1.

No se puede dividir por 0 pero sí se puede dividir por 1.

Como alternativa puedes usar la función IIF()

IIF(ip.qtde_vendido > 0, sum(coalesce(ip.qtde_separado,0)) /
sum(coalesce(ip.qtde_vendido,0)) * 100, 0) AS Percentual

Saludos.

Walter.



2014-01-28 Jose Luiz de Medeiros <joseluiz em digitoneletronica.com.br>

> boa noite.
>
> preciso nessa view retornar o percentual de uma determinada consulta:
>
> CREATE VIEW VW_PROD_PEDIDO(
>     PEDV,
>     DATA_OPERACAO,
>     NOME_CLI,
>     CIDADE,
>     UF_CLI,
>     COD_PROD,
>     DESC_PROD,
>     idcarga,
>     VENDIDO,
>     SEPARADO,
>     PERCENTUAL)
> AS
> select
> p.pedv,p.data_operacao,p.nome_cli,p.cidade,p.uf_cli,ip.cod_prod,ip.desc_prod,ic.id_carga,
>       sum(coalesce(ip.qtde_vendido,0)) as vendido,
>        sum(coalesce(ip.qtde_separado,0)) as separado,
>        sum(coalesce(ip.qtde_separado,0)) /
> sum(coalesce(ip.qtde_vendido,0)) * 100 AS Percentual  -------> erro aqui
>
> from pedido p
> inner join item_pedido ip on(ip.pedv = p.pedv)
> inner join item_carga ic on(ic.id_pedido = p.pedv)
>
> group by
>
> p.pedv,p.data_operacao,p.nome_cli,p.cidade,p.uf_cli,ip.cod_prod,ip.desc_prod,ic.id_carga
>
> no ultimo sum tenho que pegar o % de cada item separado, só que quando
> estiver qtde_vendido = 0 e qtde_separado = 0 recebo o erro :
> arithmetic overflow or divison by zero has occurred com certeza sei que
> não posso dividir 0 por 0.
>
> mas como posso contornar esse problema?
>
> grato:
>
>
>
>
>
> Jose Luiz de Medeiros
>
> -----------------------------------
>
>
> Programmer &   TI Professional
>
> :: delphi - php - firebird - mysql ::
>
> (31)9628-4764
>
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista