Ir para conteúdo
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Retornar 0 em campos de consultas SQL


raphaelluizschettino

Posts Recomendados


  • Tópicos Que Criei:  24
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  652
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

Amigos, possuo consultas SQL e gostaria de retornar '0' quando não tiver valor a exibir.

SELECT SUM(TITMMOV.QUANTIDADE)
FROM TITMMOV, TMOV
WHERE TITMMOV.IDMOV=TMOV.IDMOV AND
 TMOV.CODCFO=:codcfo AND
 DATEPART(YEAR,TMOV.DATAEMISSAO)=:ANO AND
 DATEPART(MONTH,TMOV.DATAEMISSAO)=:MES AND
 DATEPART(DAY,TMOV.DATAEMISSAO)='01' AND
 TMOV.CODTMV IN ('1.1.04')

 

A consulta está acima, mas não sei onde defino isso se é na sql ou em propriedades do rm reports, por lá cliquei em exibir nulos e marquei, mas não apareceu o 0.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  24
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  652
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

Por exemplo, se a consulta não retornar valor seria exibido o valor 0.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  59
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  817
  • Conteúdo/Dia:  0.16
  • Reputação:   105
  • Pontos/Conquistas:  4.774
  • Conteúdo Resolvido:  0
  • Dias Ganho:  74
  • Status:  Offline
  • Idade:  61
  • Dispositivo:  Windows

Bom dia.

Eu uso nestes casos a função ISNULL.

Ex: ISNULL(CAMPO,0)

Editado por omar
complemento
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  59
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  817
  • Conteúdo/Dia:  0.16
  • Reputação:   105
  • Pontos/Conquistas:  4.774
  • Conteúdo Resolvido:  0
  • Dias Ganho:  74
  • Status:  Offline
  • Idade:  61
  • Dispositivo:  Windows

Exemplo prático:

SELECT CODCCUSTO, ETAPA, ETAPANOME,
               SUM(ISNULL(VALORPREVISTO,0)) AS VALORPREVISTO,
               SUM(ISNULL(VALORREALIZADO,0)) AS VALORREALIZADO,
               SUM(ISNULL(VALORPREVISTOATUAL,0)) AS VALORPREVISTOATUAL,
               SUM(ISNULL(VALORREALIZADOATUAL,0)) AS VALORREALIZADOATUAL,
               (SUM(ISNULL(VALORPREVISTOATUAL,0)) - SUM(ISNULL(VALORREALIZADOATUAL,0))) AS SALDO
                
FROM   V_CUSTOTOTAL (NOLOCK)
       
WHERE  CODCCUSTO = $CCUSTO$ AND (ETAPA <> '' AND (ETAPA <>  '24.01' AND ETAPA <> '21.01'))
       
GROUP BY CODCCUSTO, ETAPA,
               ETAPANOME

ORDER BY ETAPA

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  24
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  652
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

Entendi o código funcionou para os campos escrito NULL, mas infelizmente não para os " ".

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  59
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  817
  • Conteúdo/Dia:  0.16
  • Reputação:   105
  • Pontos/Conquistas:  4.774
  • Conteúdo Resolvido:  0
  • Dias Ganho:  74
  • Status:  Offline
  • Idade:  61
  • Dispositivo:  Windows

Para os em branco vc pode utilizar o REPLACE.  Veja um exemplo abaixo:

REPLACE(CAMPO, '', '0')

Tô desconfiando que este teu problema tem relação de não haver resultado para tua consulta SQL em alguns casos.  Caso seja isto, o problema é na forma como vc está relacionando as duas tabelas.

Pode usar LEFT JOIN ou RIGHT JOIN ou INNER JOIN no relacionamento das tabelas.  

http://www.devmedia.com.br/utilizando-joins-em-sql/1071

Editado por omar
Acerto
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  24
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  652
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

Será que tem uma maneira de retornar zero caso minha consulta não retorne nada? é porque em alguns momentos eu não tenho a data 01/06/2016 em nenhuma das duas tabelas e também não possuo quantidade para tal data, então queria que aparecesse um 0.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  59
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  817
  • Conteúdo/Dia:  0.16
  • Reputação:   105
  • Pontos/Conquistas:  4.774
  • Conteúdo Resolvido:  0
  • Dias Ganho:  74
  • Status:  Offline
  • Idade:  61
  • Dispositivo:  Windows

SQL

 

Bom dia.

Resolvi um problema semelhante aqui na empresa: eu tinha de gerar uma relação de contratos, mas nesta mesma consulta tinha de fornecer também as unidades disponíveis, que não faziam parte da base dos contratos.  Eu resolvi usando UNION.   Estou anexando um arquivo com o select que gerei, para vc ter uma ideia como fiz.   Vc pode incluir todas as datas com valor zero através do UNION.  É uma gambiarra (termo cearense).

Editado por omar
Editar
Link para comentar
Compartilhar em outros sites

  • 2 semanas depois...

  • Tópicos Que Criei:  24
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.03
  • Reputação:   2
  • Pontos/Conquistas:  652
  • Conteúdo Resolvido:  0
  • Dias Ganho:  2
  • Status:  Offline

 Não consegui ver dessa forma. , como eu colocaria um zero com union?

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.