Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jessica.matheus

preciso que retorne ZERO

Recommended Posts

Olá pessoal..

 

Preciso de uma ajuda.

 

tenho uma consulta SQL que conta a quantidade de acordos efetuados por hora e o valor total ($) do que foi efetuado.

 

porem se por exemplo no período entre 10 e 11 da manha eu não tiver nenhum acordo fechado, eu preciso que retorne ZERO para todos as colunas, e no momento não traz nada.

 

alguém pode me ajudar.

 

ABAIXO A QUERY.

 

 

use cobsder



IF OBJECT_ID('TEMPDB..#wolney') IS NOT NULL BEGIN 
   DROP TABLE #wolney
END 
DECLARE @grupo AS INT
declare @valor as int
set @grupo = '8'
set @valor = '0'
select BOLETOS.NR_ACORDO, 
VALOR,
EMISSAOTIME, 
USUARIOS.GRUPO,
BOL_AUX.VR_FINANC AS REFIN,
VALOR + BOL_AUX.VR_FINANC AS CASH_REFIN
into tempdb..#wolney
from BOLETOS
JOIN USUARIOS
on BOLETOS.COBRADOR=USUARIOS.CONTROLE
join BOL_AUX on BOL_AUX.CLI = BOLETOS.CLI
where EMISSAOTIME between '01/04/2013' and '02/04/2013'
and PARCELA = '0'
and BOLETOS.BOLETAGEM is null
MOVPROV.PROV,DTPROV

 

 

select '10:00' Intervalo ,

COUNT(NR_ACORDO) as Acordos, 
SUM(VALOR) AS CASH,
SUM(REFIN) AS REFIN,
SUM(CASH_REFIN) AS 'CASH+REFIN'
from temp..#wolney
where 
EMISSAOTIME between '01/04/2013 10:00:00.000' and '01/04/2013 10:59:59.000'
and grupo = @grupo
group by VALOR, REFIN,CASH_REFIN, NR_ACORDO

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

A.Jr..

Obrigada pela reposta, eu fiz a alteração que vc falou, mas ainda continuo com o mesmo problema.

 

 

 

IF OBJECT_ID('TEMPDB..#wolney') IS NOT NULL BEGIN
DROP TABLE #wolney
END
DECLARE @grupo AS INT
declare @valor as int
set @grupo = '8'
set @valor = '0'
select BOLETOS.NR_ACORDO,
VALOR,
EMISSAOTIME,
USUARIOS.GRUPO,
BOL_AUX.VR_FINANC AS REFIN,
VALOR + BOL_AUX.VR_FINANC AS CASH_REFIN
into tempdb..#wolney
from BOLETOS
left JOIN USUARIOS
on BOLETOS.COBRADOR=USUARIOS.CONTROLE
left join BOL_AUX on BOL_AUX.CLI = BOLETOS.CLI
where EMISSAOTIME between '01/04/2013' and '02/04/2013'
and PARCELA = '0'
and BOLETOS.BOLETAGEM is null
--GROUP BY BOLETOS.NR_CTR,CLIENTES.CLI, CLIENTES.QTD_ATRASO, PROV, MOVPROV.PROV,DTPROV
select '10:00' Intervalo ,
COUNT(NR_ACORDO) as Acordos,
SUM(VALOR) AS CASH,
SUM(REFIN) AS REFIN,
SUM(CASH_REFIN) AS 'CASH+REFIN'
from temp..#wolney
where
EMISSAOTIME between '01/04/2013 10:00:00.000' and '01/04/2013 10:59:59.000'
and grupo = @grupo
group by VALOR, REFIN,CASH_REFIN, NR_ACORDO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Efim deu certo..

 

para rodar tirei o group by e coloquei um isnull em cada SUM()

 

abaixo a query:

 

use cobsder
IF OBJECT_ID('TEMPDB..#wolney') IS NOT NULL BEGIN
DROP TABLE #wolney
END
DECLARE @grupo AS INT
declare @valor as int
set @grupo = '4'
select BOLETOS.NR_ACORDO,
VALOR,
EMISSAOTIME,
USUARIOS.GRUPO,
BOL_AUX.VR_FINANC AS REFIN,
VALOR + BOL_AUX.VR_FINANC AS CASH_REFIN
into tempdb..#wolney
from BOLETOS
left JOIN USUARIOS
on BOLETOS.COBRADOR=USUARIOS.CONTROLE
left join BOL_AUX on BOL_AUX.CLI = BOLETOS.CLI
where EMISSAOTIME between '01/08/2013' and '02/08/2013'
and PARCELA = '0'
and BOLETOS.BOLETAGEM is null
--GROUP BY BOLETOS.NR_CTR,CLIENTES.CLI, CLIENTES.QTD_ATRASO, PROV, MOVPROV.PROV,DTPROV
select '08:00' Intervalo ,
COUNT(NR_ACORDO) AS ACORDOS,
ISNULL(SUM(VALOR),0) AS CASH,
ISNULL(SUM(REFIN),0) AS REFIN,
ISNULL(SUM(CASH_REFIN),0)AS 'CASH+REFIN'
from #wolney

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.