Delphi XE Firebird 2.5 Order by em campo com SUM incorreto

05/12/2016

0

Boa Tarde,
meu nome é Joatan de Lima, estou quebrando a cabeça em um projeto que antes funcionava correto e apos perder o HD e instalação do Windows 10 o Order by de um campo SUM esta vindo incorreto:

Dm.cds_RelFrequencias.Close;
Dm.cds_RelFrequencias.CommandText := 'select jogador.NCOD_JOGADOR, ' +
' jogador.DT_ENTRADA, jogador.CAPELIDO_JOGADOR, jogador.cNumero_Camisa, jogador.cnome_jogador,' +
' jogador.NCOD_TIPO, TIPO_JOGADOR.CDESCR_TIPO, SUM(NQTDE_FREQUENCIA) AS Total_Freq' + ' from frequencias' +
' left join jogador on (FREQUENCIAS.ncod_jogador = jogador.ncod_jogador)' +
' left join TIPO_JOGADOR on (jogador.ncod_tipo = TIPO_JOGADOR.ncod_tipo)' + ' where ' + wcWhere +
' group by jogador.NCOD_JOGADOR, jogador.DT_ENTRADA, jogador.CAPELIDO_JOGADOR, jogador.cNumero_Camisa,' +
' jogador.cnome_jogador, jogador.NCOD_TIPO, TIPO_JOGADOR.CDESCR_TIPO' +
' order by Total_Freq DESC, jogador.DT_ENTRADA ASC, jogador.CAPELIDO_JOGADOR ASC';
Dm.cds_RelFrequencias.Open;

vejam acima o:
' order by Total_Freq DESC, jogador.DT_ENTRADA ASC, jogador.CAPELIDO_JOGADOR ASC';

antes ordenava correto agora ele ignora o primeiro campo no caso (SUM) e inicia a ordenação por:
jogador.DT_ENTRADA, jogador.CAPELIDO

OBS:
Delphi XE, Firebird 2.5.5 , RLREPORT, DBExpress com sqldataset + datasetprovider + clientdataset + datasource
email: joatanlima@hotmail.com
Joatan Lima

Joatan Lima

Responder

Posts

05/12/2016

Jones Granatyr

Opa! Tente colocar no order by "SUM(NQTDE_FREQUENCIA)" ao invés de "Total_Freq"
Responder

05/12/2016

Joatan Lima

R_ não deu certo, tentei tambem colocando pelo numero da coluna no caso 8 mais tambem não deu.
Responder

06/12/2016

Joatan Lima

Alguem por favor me ajuda
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar