Array
(
)

Dúvida Query

Sidnei Junior
|
MVP
    08 jan 2015

Pessoal estou com dificuldades em aplicar um filtro na minha Select, preciso trazer todos os campos listados onde o valor líquido seja maior que 0 segue o código
#Código

SELECT
cred.cred_id,
cred.nome,
cred.diafechamento1,
cred.vencimento1,
cred.CORRENTISTA,
cred.cgc,
cred.COMISSAO,
cred.CONTACORRENTE,
cred.AGENCIA,
cc.BAIXA_CREDENCIADO AS BAIXADO, 
cred.BANCO as CODBANCO,ba.BANCO AS NOME_BANCO,

COALESCE(SUM(CC.DEBITO - CC.CREDITO),0) AS BRUTO,

(SELECT COALESCE(SUM(t.valor),0)FROM TAXAS t, rel_taxa_cred rtc 
WHERE t.taxa_id = rtc.TAXA_ID and rtc.cred_id = cred.CRED_ID) aS TAXA_EXTRA,

(coalesce((sum(CC.debito - CC.credito))*(cred.COMISSAO/100),0)) as COMISSAO_ADM,

(coalesce(((sum(CC.debito - CC.credito))*(cred.COMISSAO/100))+
(SELECT COALESCE(SUM(t.valor),0)
FROM TAXAS t, rel_taxa_cred rtc 
WHERE t.taxa_id = rtc.TAXA_ID and rtc.cred_id = cred.CRED_ID)
/*taxas extras*/ ,0))AS TOTAL_RETIDO_ADM,

((COALESCE(SUM(CC.DEBITO - CC.CREDITO),0))-
((coalesce((sum(CC.debito - CC.credito))*(cred.COMISSAO/100),0))+
(SELECT COALESCE(SUM(t.valor),0)FROM TAXAS t, rel_taxa_cred rtc 
WHERE t.taxa_id = rtc.TAXA_ID and rtc.cred_id = cred.CRED_ID))) AS LIQUIDO, 

'N' as ATRASADO 
---------------------------------------------------------------------------
from credenciados cred 
LEFT JOIN contacorrente cc  ON CC.CRED_ID = cred.CRED_ID 
AND cc.data between '05/01/2015' and '11/01/2015' 
AND cc.BAIXA_CREDENCIADO = 'N' 
LEFT JOIN BANCOS ba ON ba.codigo = cred.banco 
WHERE PAGA_CRED_POR_ID = 2 and cred.apagado = 'N' 

--PROBLEMA AQUI PARA APLICAR ESTE FILTRO-- 
AND 
(
	(COALESCE(SUM(CC.DEBITO - CC.CREDITO),0))
	-
	(
		(COALESCE((sum(CC.debito - CC.credito))*(cred.COMISSAO/100),0))+
		(SELECT COALESCE(SUM(t.valor),0)FROM TAXAS t, rel_taxa_cred rtc 
		WHERE t.taxa_id = rtc.TAXA_ID and rtc.cred_id = cred.CRED_ID)
	)
) > 0


GROUP BY cred.CRED_ID,
cc.BAIXA_CREDENCIADO,
CRED.NOME,
cred.diafechamento1,
cred.vencimento1,
cred.CORRENTISTA,
cred.cgc, 
cred.CONTACORRENTE, 
cred.AGENCIA,
ba.BANCO,
cred.COMISSAO,
cred.BANCO


ESTOU USANDO O SQL SERVER

Joel Rodrigues
   - 08 jan 2015

Dicas:
1) No lugar de COALESCE use ISNULL, faz mais sentido.
2) Como você está agrupando os resultados, use HAVING para fazer o filtro.

Alex Lekao
   - 08 jan 2015

Esta apresentando alguma mensagem de erro ou apenas nao esta trazendo os resultados corretos?