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?