Trazer valor 0 para quando contador de Data for nulo

16/10/2018

3

Estou contanto determinada informação de uma tabela, e preciso contar por uma data, e necessito que quando não houver o que contar ele me apresente 0. Tentei usar NVL, mas oracle diz que não posso usar o que retorna number para date. Alguém sabe de alguma forma para resolver isso?
Responder

Posts

16/10/2018

Alex William

Um "SELECT count()" não te serve pra esse problema?

 SELECT COUNT(*) FROM <nome_tabela> WHERE <campo_data> = '<data>';
Responder
O count era o meu problema, ele estava contando certo, mas quando havia dados que não existiam ele deveria me trazer 0, mas não apresentava nada.
Depois de pesquisar em vários foruns e artigos encontrei a solução, usar uma sub-query no NVL dessa forma
 SELECT DISTINCT
NVL((SELECT COUNT(*)
FROM tabela1
WHERE comparações
),0)
FROM tabela1
WHERE comparações
Pois o meu relatório não possuia em determinados casos nada para apresentar, então não havia como ele substituir nada por zero, pois a informação não era nem nula, e dessa forma acima quando não existir nada ele cria como 0. Agradeço a disposição em ajudar.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar