Fórum ORDER BY Não está funcionando #234119
24/05/2004
0
[size=9:6559027bfb]SELECT
SAV003.NMELEICAO, SAV006.IDNUMERO, Sum(SAV006.VOTO) AS SOMADEVOTO,
SAV001.MATRICULA, SAV001.DIGITO, SAV001.NOME, SAV001.APELIDO,
SAV001.DTADMISSAO, SAV001.DTNASCIMENTO
FROM
SAV006,
SAV003 INNER JOIN SAV001 ON SAV003.IDELEICAO = SAV001.IDELEICAO
GROUP BY
SAV001.IDELEICAO, SAV003.NMELEICAO, SAV006.IDNUMERO,
SAV001.IDNUMERO, SAV001.MATRICULA, SAV001.DIGITO, SAV001.NOME,
SAV001.APELIDO, SAV001.DTADMISSAO, SAV001.DTNASCIMENTO
HAVING
(SAV001.IDELEICAO = :PAR_ELEICAO) AND (SAV001.IDNUMERO = SAV006.IDNUMERO)
ORDER BY
3 DESC, 8 DESC, 9 DESC;
[/size:6559027bfb]
Quando eu executo o TClientDataSet o mesmo ignora o ORDER BY, alguem sabe me dizer o porque ou me dar uma dica do que fazer??
Obrigado
Silviomorelo
Curtir tópico
+ 0Posts
24/05/2004
Ruysalles
SELECT
SAV003.NMELEICAO, SAV006.IDNUMERO, Sum(SAV006.VOTO) AS SOMADEVOTO,
SAV001.MATRICULA, SAV001.DIGITO, SAV001.NOME, SAV001.APELIDO,
SAV001.DTADMISSAO, SAV001.DTNASCIMENTO
FROM
SAV006,
SAV003 INNER JOIN SAV001 ON SAV003.IDELEICAO = SAV001.IDELEICAO
GROUP BY
SAV001.IDELEICAO, SAV003.NMELEICAO, SAV006.IDNUMERO,
SAV001.IDNUMERO, SAV001.MATRICULA, SAV001.DIGITO, SAV001.NOME,
SAV001.APELIDO, SAV001.DTADMISSAO, SAV001.DTNASCIMENTO
HAVING
(SAV001.IDELEICAO = :PAR_ELEICAO) AND (SAV001.IDNUMERO = SAV006.IDNUMERO)
ORDER BY
Sum(SAV006.VOTO) DESC, SAV001.DTADMISSAO DESC, SAV001.DTNASCIMENTO DESC;
Gostei + 0
25/05/2004
Adilsond
SELECT SAV003.NMELEICAO, SAV006.IDNUMERO, SAV001.MATRICULA, SAV001.DIGITO, SAV001.NOME, SAV001.APELIDO, SAV001.DTADMISSAO, SAV001.DTNASCIMENTO, SUM(SAV006.VOTO) AS SOMADEVOTO FROM SAV006, SAV003, SAV001 WHERE SAV001.IDELEICAO = SAV003.IDELEICAO AND SAV001.IDNUMERO = SAV006.IDNUMERO AND SAV003.IDELEICAO = :PAR_ELEICAO GROUP BY SAV003.NMELEICAO, SAV006.IDNUMERO, SAV001.MATRICULA, SAV001.DIGITO, SAV001.NOME, SAV001.APELIDO, SAV001.DTADMISSAO, SAV001.DTNASCIMENTO ORDER BY 9 DESC, 7 DESC, 8 DESC
Com relação ao que nosso colega ruysalles informou sobre o order by, ele está equivocado. O order by aceita ser informado através do número da coluna.
No SQL acima voce está ordenando:
Primeiro pelo SUM(SAV006.VOTO) em order decrecente,
Depois pela SAV001.DTADMISSAO em order decrecente,
Depois pela SAV001.DTNASCIMENTO em order decrecente
Verifique se voce não criou índices para o ClientDataSet, pois caso isto seja verdadeiro ele obedecerá a ele.
Gostei + 0
25/05/2004
Silviomorelo
Gostei + 0
25/05/2004
Adilsond
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)