[firebase-br] Re: Erro em consulta - AJUDA

Luiz Henrique Severo d Oliveira lhsevero em rpgsolucoes.com.br
Ter Abr 5 13:37:17 -03 2005


Eduardo,

Qual a diferença em fazer deste modo:
FROM DIVIDA A
INNER JOIN CLIENTE B ON A.CLIENTE = B.CLIENTE
INNER JOIN REGADMINISTRATIVA C ON B.REGADMINISTR = C.REGADMINISTR

E deste?
FROM DIVIDA A
INNER JOIN CLIENTE B INNER JOIN REGADMINISTRATIVA C ON B.REGADMINISTR = C.REGADMINISTR
ON A.CLIENTE = B.CLIENTE

O modo como fiz está errado?
O lance é que eu aprendi deste modo e agora fiquei na dúvida. (para falar a verdade nunca precisei utilizar por isso não sei se dá certo)


Obrigado
Luiz Henrique Severo d Oliveira
RPG Soluçoes
www.rpgsolucoes.com.br

> ------------------------------
> 
> Message: 4
> Date: Tue, 05 Apr 2005 09:08:45 -0300
> From: eduardo <eduardo em icontroller.com.br>
> Subject: Re: [firebase-br] Erro em consulta - AJUDA
> To: lista em firebase.com.br
> Message-ID: <d2tv0g$jdr$1 em sea.gmane.org>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> Oi Jean,
> Aqui um outro Eduardo
> vou dar umas pequenas opiniôes
> 
> SELECT B.REGADMINISTR, C.NOME, SUM(A.VLPAGO) AS SOMA ,
>              COUNT(B.CLIENTE) AS QTDE,SUM(A.VLMULTA + A.VLJUROS) AS 
> ENCARGOS
>      FROM DIVIDA A
>      INNER JOIN CLIENTE  B ON A.CLIENTE = B.CLIENTE
>      INNER JOIN REGADMINISTRATIVA C ON B.REGADMINISTR = C.REGADMINISTR
>   WHERE A.DTPAGAMENTO IS NOT NULL AND
>             *** A.DIVIDA IN ('01','02','03) ***
> --(A.DIVIDA = '01' OR A.DIVIDA = '02' OR A.DIVIDA = '03') AND
>             B.IDENTIFICACAO <= 5 AND
>             *** B.BASETERRITORIAL IN (5,13) ***
> --(B.BASETERRITORIAL = 13 OR B.BASETERRITORIAL = 10)
>   GROUP BY B.REGADMINISTR, C.NOME
> *** NÃO PRECISA ORDER BY NA MESMA SEQÜÊNCIA DO GROUP BY ***
> *** O PRÓPRIO GROUP BY JÁ FAZ O SERVIÇO ***
> -- ORDER BY B.REGADMINISTR, C.NOME
> 
> Boa Sorte, Eduardo
> 
> Jean R. Streleski wrote:
> > Confome vc pediu Eduardo:
> > 
> > SELECT B.REGADMINISTR, C.NOME, SUM(A.VLPAGO) AS SOMA ,
> >            COUNT(B.CLIENTE) AS QTDE,SUM(A.VLMULTA + A.VLJUROS) AS ENCARGOS 
> >    FROM DIVIDA A 
> >    INNER JOIN CLIENTE  B ON A.CLIENTE = B.CLIENTE 
> >    INNER JOIN REGADMINISTRATIVA C ON B.REGADMINISTR = C.REGADMINISTR 
> > WHERE A.DTPAGAMENTO IS NOT NULL AND
> >           (A.DIVIDA = '01' OR A.DIVIDA = '02' OR A.DIVIDA = '03') AND
> >           B.IDENTIFICACAO <= 5 AND
> >           (B.BASETERRITORIAL = 13 OR B.BASETERRITORIAL = 10)  
> > GROUP BY B.REGADMINISTR, C.NOME 
> > ORDER BY B.REGADMINISTR, C.NOME 
> > 
> > 
> > Campos chave: CLIENTE = CLIENTE
> >                      DIVIDA   = DIVIDA,ANO,PARCELA,CLIENTE
> > 
> > Todos os critérios do where apresentam índices.
> > 
> > Obrigado
> > 
> > Jean R. Streleski
> > Bauru / SP
> > 





Mais detalhes sobre a lista de discussão lista