raphaelluizschettino Posted August 20, 2016 Topic Count: 24 Topics Per Day: 0.01 Content Count: 82 Content Per Day: 0.03 Reputation: 2 Achievement Points: 652 Solved Content: 0 Days Won: 2 Status: Offline Report Posted August 20, 2016 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. Quote
raphaelluizschettino Posted August 20, 2016 Topic Count: 24 Topics Per Day: 0.01 Content Count: 82 Content Per Day: 0.03 Reputation: 2 Achievement Points: 652 Solved Content: 0 Days Won: 2 Status: Offline Author Report Posted August 20, 2016 Por exemplo, se a consulta não retornar valor seria exibido o valor 0. Quote
omar Posted August 21, 2016 Topic Count: 59 Topics Per Day: 0.01 Content Count: 827 Content Per Day: 0.15 Reputation: 111 Achievement Points: 4,834 Solved Content: 0 Days Won: 76 Status: Offline Age: 62 Device: Windows Report Posted August 21, 2016 (edited) Bom dia. Eu uso nestes casos a função ISNULL. Ex: ISNULL(CAMPO,0) Edited August 21, 2016 by omar complemento Quote
omar Posted August 21, 2016 Topic Count: 59 Topics Per Day: 0.01 Content Count: 827 Content Per Day: 0.15 Reputation: 111 Achievement Points: 4,834 Solved Content: 0 Days Won: 76 Status: Offline Age: 62 Device: Windows Report Posted August 21, 2016 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 Quote
raphaelluizschettino Posted August 21, 2016 Topic Count: 24 Topics Per Day: 0.01 Content Count: 82 Content Per Day: 0.03 Reputation: 2 Achievement Points: 652 Solved Content: 0 Days Won: 2 Status: Offline Author Report Posted August 21, 2016 Entendi o código funcionou para os campos escrito NULL, mas infelizmente não para os " ". Quote
omar Posted August 21, 2016 Topic Count: 59 Topics Per Day: 0.01 Content Count: 827 Content Per Day: 0.15 Reputation: 111 Achievement Points: 4,834 Solved Content: 0 Days Won: 76 Status: Offline Age: 62 Device: Windows Report Posted August 21, 2016 (edited) 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 Edited August 21, 2016 by omar Acerto Quote
raphaelluizschettino Posted August 22, 2016 Topic Count: 24 Topics Per Day: 0.01 Content Count: 82 Content Per Day: 0.03 Reputation: 2 Achievement Points: 652 Solved Content: 0 Days Won: 2 Status: Offline Author Report Posted August 22, 2016 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. Quote
omar Posted August 22, 2016 Topic Count: 59 Topics Per Day: 0.01 Content Count: 827 Content Per Day: 0.15 Reputation: 111 Achievement Points: 4,834 Solved Content: 0 Days Won: 76 Status: Offline Age: 62 Device: Windows Report Posted August 22, 2016 (edited) 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). Edited August 22, 2016 by omar Editar Quote
raphaelluizschettino Posted September 2, 2016 Topic Count: 24 Topics Per Day: 0.01 Content Count: 82 Content Per Day: 0.03 Reputation: 2 Achievement Points: 652 Solved Content: 0 Days Won: 2 Status: Offline Author Report Posted September 2, 2016 Não consegui ver dessa forma. , como eu colocaria um zero com union? Quote
LUIZ ALEXANDRE CABRA Posted March 12 Topic Count: 1 Topics Per Day: 0.01 Content Count: 6 Content Per Day: 0.06 Reputation: 0 Achievement Points: 30 Solved Content: 0 Days Won: 0 Status: Offline Age: 48 Device: Windows Report Posted March 12 (edited) Boa tarde. Monta uma case no seu sql. case when "campo" is NULL then '0' when "campo" = ' ' then '0' else "campo" end "nome campo" Abc Edited March 12 by LUIZ ALEXANDRE CABRA Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.