Usuário com melhor resposta
SCRIPT SQL SERVER

Pergunta
-
Bom dia.
Estou desenvolvendo um relatório com o seguinte script:
SELECT DISTINCT
ped.filial,
ped.numped,
cr.EMISSAO,
ped.filial + '/' + CAST(ped.numped AS varchar(7)) AS contrato,
ped.razaocli,
ped.cgccli,
ped.telecli,
case when DATEPART(MONTH, cr.vencimento) = (select MONTH(getdate())+1) then SUM(cr.valornamoeda1) else 0 end as teste
FROM
dbo.PEDICLICAD AS ped
JOIN dbo.VENDASSCAD AS v ON ped.numped = v.numped
JOIN dbo.CONTAARECEBER_R AS cr ON cr.RDOCDEORIGEM = v.oiddocdeorigem
WHERE
(ped.rdocplano IN (73146881, 22988083))
and ped.numped in (3372862,3373019)
GROUP BY
ped.filial,
ped.numped,
cr.EMISSAO,
ped.razaocli,
ped.cgccli,
ped.telecli,
v.oiddocdeorigem,
cr.VENCIMENTOO resultado desse script é esse:
Minha dúvida: Como eu faço para retornar somente o valores que vencerão no próximo mês? eu sei que está retornando o zero porque utilizei o 'Else 0', mas se eu não utilizar isso, retorna NULL, porque o cliente tem parcelas a vencer em vários meses.
Obrigado!
Respostas
-
Cézar,
Se o valor da coluna da tabela CONTAARECEBER_R da coluna vencimento retorna como NULL, você pode utilizar mais um campo de filtragem na sua cláusula where, para não trazer os valores NULL
WHERE cr.vencimento is not null and (ped.rdocplano IN (73146881, 22988083)) and ped.numped in (3372862,3373019)
[]'s
- Sugerido como Resposta fernando silva 1 quinta-feira, 4 de abril de 2013 12:29
- Marcado como Resposta César Felix sexta-feira, 12 de abril de 2013 11:45
-
Cézar,
Para não mostrar os valores nullos é só adicioanar a restrição como sugerido pelo Fernando, outra coisa que observei no seu script é a utilização do DISTINCT, talvez não seja necessário uma vez que você está agrupando o resultado.
Espero ter ajudado
David Silva | MCT | MCITP| MCTS | MCP | ITILF | Blog: http://tilive.wordpress.com
- Sugerido como Resposta fernando silva 1 quinta-feira, 4 de abril de 2013 12:29
- Marcado como Resposta César Felix sexta-feira, 12 de abril de 2013 11:45
Todas as Respostas
-
Cézar,
Se o valor da coluna da tabela CONTAARECEBER_R da coluna vencimento retorna como NULL, você pode utilizar mais um campo de filtragem na sua cláusula where, para não trazer os valores NULL
WHERE cr.vencimento is not null and (ped.rdocplano IN (73146881, 22988083)) and ped.numped in (3372862,3373019)
[]'s
- Sugerido como Resposta fernando silva 1 quinta-feira, 4 de abril de 2013 12:29
- Marcado como Resposta César Felix sexta-feira, 12 de abril de 2013 11:45
-
Cézar,
Para não mostrar os valores nullos é só adicioanar a restrição como sugerido pelo Fernando, outra coisa que observei no seu script é a utilização do DISTINCT, talvez não seja necessário uma vez que você está agrupando o resultado.
Espero ter ajudado
David Silva | MCT | MCITP| MCTS | MCP | ITILF | Blog: http://tilive.wordpress.com
- Sugerido como Resposta fernando silva 1 quinta-feira, 4 de abril de 2013 12:29
- Marcado como Resposta César Felix sexta-feira, 12 de abril de 2013 11:45