# Como usar Count no Where

08/08/2019

14

Em resumo preciso contar a quantidade de registros (CODIGO), para saber se a registro na data informada e quantos são.

select
CO.DT_ABERTURA,
CO.DT_FECHAMENTO,
CO.PDV,
CO.VLR_ABERTURA,
BB.TOTAL_LIQUIDO,
FP.FORMA_PAG
join BCA_BILHETE BB on BB.EMPRESA = CO.EMPRESA and BB.CAIXA_OPERADOR = CO.CODIGO
join BCA_BILHETE_FORMA_PGTO FP on FP.EMPRESA = BB.EMPRESA and FP.CODIGO = BB.CODIGO
where CO.EMPRESA = :EMPRESA and
((CO.DT_ABERTURA >= :DT_ABERTURA) and
(CO.DT_FECHAMENTO <= :DT_FECHAMENTO)) and
>>>>>>(count(BB.CODIGO) = 0)<<<<<< Estou com problema nesta linha
Responder

Posts

08/08/2019

Matheus tente o seguinte
```SELECT CO.DT_ABERTURA,
CO.DT_FECHAMENTO,
CO.PDV,
CO.VLR_ABERTURA,
BB.TOTAL_LIQUIDO,
FP.FORMA_PAG,
COUNT(BB.CODIGO)
join BCA_BILHETE BB on BB.EMPRESA = CO.EMPRESA and BB.CAIXA_OPERADOR = CO.CODIGO
join BCA_BILHETE_FORMA_PGTO FP on FP.EMPRESA = BB.EMPRESA and FP.CODIGO = BB.CODIGO
where CO.EMPRESA = :EMPRESA and
((CO.DT_ABERTURA >= :DT_ABERTURA) and
(CO.DT_FECHAMENTO <= :DT_FECHAMENTO)) and
BB.CODIGO = 0
```

Responde aí caso tenha resolvido.
Um abraço!
Responder

08/08/2019

Ja tentou:

```SELECT COUNT(*) FROM
(
select
CO.DT_ABERTURA,
CO.DT_FECHAMENTO,
CO.PDV,
CO.VLR_ABERTURA,
BB.TOTAL_LIQUIDO,
FP.FORMA_PAG
join BCA_BILHETE BB on BB.EMPRESA = CO.EMPRESA and BB.CAIXA_OPERADOR = CO.CODIGO
join BCA_BILHETE_FORMA_PGTO FP on FP.EMPRESA = BB.EMPRESA and FP.CODIGO = BB.CODIGO
where CO.EMPRESA = :EMPRESA and
((CO.DT_ABERTURA >= :DT_ABERTURA) and
(CO.DT_FECHAMENTO <= :DT_FECHAMENTO))
) FOO
```

Acredito que desta forma ele conte os registros da sua subquery para verificar quantos registros ela retorna.
Responder

08/08/2019

tente:
```select
CO.DT_ABERTURA,
CO.DT_FECHAMENTO,
CO.PDV,
CO.VLR_ABERTURA,
BB.TOTAL_LIQUIDO,
FP.FORMA_PAG,
COUNT(BB.CODIGO) QTDCOD
from
left join BCA_BILHETE BB on
BB.EMPRESA = CO.EMPRESA and BB.CAIXA_OPERADOR = CO.CODIGO
left join BCA_BILHETE_FORMA_PGTO FP on
FP.EMPRESA = BB.EMPRESA and FP.CODIGO = BB.CODIGO
where
CO.EMPRESA = :EMPRESA and
((CO.DT_ABERTURA >= :DT_ABERTURA) and
(CO.DT_FECHAMENTO <= :DT_FECHAMENTO))
group by
CO.DT_ABERTURA,
CO.DT_FECHAMENTO,
CO.PDV,