[firebase-br] Group By

João Henrique de Souza joao.henrique em jvsind.com.br
Qua Nov 16 16:08:48 -03 2005


Olá Jean

Primeiramente vc pode fazer o order by e group by só indicando
o numero da coluna no select:

Exemplo
Select campo1
        , campo2
        , campo3
order by 3,1

o order by assim seria a mesma coisa que escrever
order by campo3, campo1

o mesmo vale para o group by.

Segundamente (hehehe) vc ta fazendo o teste pelo IBExpert não ta nao?
Vc ta configurando corretamente o acesso do IBExpert ao banco?
Indicando o client e a versão do servidor FB?

Pode ser isso

[]´s
João Henrique


----- Original Message ----- 
From: "Jean Vichinheski" <jean em equipesul.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, November 16, 2005 3:00 PM
Subject: [firebase-br] Group By


> Boa tarde !!!
> Estamos migrando um sistema de interbase 6. 0 para firebird 1.5 !
> No firebird 1.5 tem esse select que o meu sistema executa !
>
>
> SELECT nfs.cli_codcliente, nfs.dataemissao, 0 as ven_codvendedor,  0 as
numeronota, 0 as codigonaturezaoperacao,
> null as naturezaoperacao,  null as serie, null as cidade,
> sum(nfs.totalnota) as TotalSaida, sum(nfe.totalNota) as totalEntrada
> FROM cliente c, vendedor v, naturezaoperacao nat, notafiscalsaida nfs
> LEFT join notafiscalentrada nfe ON nfe.CodigoNotaFiscalSaida =
nfs.CodigoNotaFiscalSaida
> WHERE nfs.cli_codcliente = c.cli_codcliente
> AND nfs.ven_codvendedor = v.ven_codvendedor
> AND nfs.codigonaturezaoperacao = nat.codigonaturezaoperacao
> AND (nfe.totalNota is null or nfs.totalNota <> nfe.totalNota)
> AND nfs.dataemissao >= '11/01/2005'  AND nfs.dataemissao <= '11/20/2005'
> AND nfs.totalnota >= 0.00    AND nfs.faturado = "T"   AND nfs.cancelada <>
"T"
> AND nfs.cfg_codconfig = 2
> AND nfs.codigonaturezaoperacao in
(510101,510101,510101,515501,515501,515501,592201,592201,592201,592202,59490
1,594901,594901,594902,594903,610101,610101,610101,610201,610201,610201,6155
01,615501,615501,694901,694901,694901,694902,694903)
> AND (C.Relatorio not LIKE '%V%'    OR C.relatorio is null)
> AND nfs.codigonotafiscalsaida in (select distinct(codigonotafiscalsaida)
from produtonotasaida)
> group by nfs.cli_codcliente, nfs.dataemissao
> order by c.codigocliente, nfs.dataemissao
>  ele da esse erro
>
>
> " can't format message 13:896 -- message file C:\Arquivos de
programas\HK-Software\firebird.msg not found.Dynamic SQL Error.SQL error
code = -104.Invalid expression in the ORDER BY clause (not contained in
either an aggregate function or the GROUP BY clause"
>
> ai no final do select se eu fizer
>
> group by nfs.cli_codcliente, nfs.dataemissaoorder by c.codigocliente,
nfs.dataemissao da erro
>
> e se mudar novamente pra isso da certo
> group by nfs.cli_codcliente, nfs.dataemissaoorder by nfs.cli_codcliente,
nfs.dataemissao
>
> e mudando novamente
>  pra isso da erro
>
> group by c.codigocliente, nfs.dataemissaoorder by c.codigocliente,
nfs.dataemissao
>
>
> Alguem sabe se é um bug ou o q é ??? no interbase 6.0 da maneira que tava
original o select funciona!!
>
> grato pela atenção!!
>
> abs,
> Jean
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>





Mais detalhes sobre a lista de discussão lista