[firebase-br] count com erro

Carlos H. Cantu listas em warmboot.com.br
Segunda Novembro 9 14:59:22 -03 2020


Experimente algo do tipo:

count(distinct vendacab.numero_do_pedido) as    ttPedPrazo,

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

AJvl> Olá ...

AJvl> 3 pedidos

AJvl> 1 ---- 1 produto
AJvl> 2 ----- 2 produtos
AJvl> 3 ----- 1 produto

AJvl> sql
AJvl> ==================================
AJvl> select
AJvl>     vendacorpo.vendedor,
AJvl>     funcionarios.apelido,

AJvl>     count( * ) as    ttPedPrazo,

AJvl>      sum( case vendacorpo.tipovenda
AJvl>         when 'V' then vendacorpo.unitariovista   *  vendacorpo.unidades
AJvl>         when 'E' then vendacorpo.unitariovista   *  vendacorpo.unidades
AJvl>         when 'P' then vendacorpo.unitcomdesconto *  vendacorpo.unidades
AJvl>     end ) ttVendasPrazo



AJvl> from vendacab
AJvl>    inner join vendacorpo on (vendacab.pedido = vendacorpo.pedido)
AJvl>    inner join funcionarios on (vendacorpo.vendedor = funcionarios.codigo)
AJvl> where
AJvl>    (
AJvl>       vendacab.vendedor   = '00075'  and
AJvl>       vendacab.anomesvenda =:xAnoMes
AJvl>       and
AJvl>       vendacorpo.tipovenda = 'P'
AJvl>    )
AJvl> group by vendacorpo.vendedor, funcionarios.apelido
AJvl> ===============================================

AJvl> COUNT( * ) AS ttPedPrazo

AJvl> retorna ( 4 )  e o correto seria ( 3 )  .. onde existe 3 pedidos .. mas ele
AJvl> conta o número de produto

AJvl> alguém sabe como corrigir isso ?

AJvl> obrigado
AJvl> Augusto




Mais detalhes sobre a lista de discussão lista