Só falta o Order By

Delphi

19/03/2004

Olá gostaria de saber como faço para terminar essa sentença que pretendo retornar o TOP 10 de uma determinada tabela. Fiz esse teste com o banco employee.gdb que vem junto com o interbase. Pela lógica, no lugar de (?) seria a palavra TOTAL, porém esse não está sendo aceito, creio eu que pelo motivo de não ser uma coluna e sim um label e que este não aceita ser criado um índice para o mesmo, alguém teria uma sugestão?

select emp_no, sum(new_salary) TOTAL
from salary_history group by emp_no order by (?) desc rows 10


Obrigado


Ninjapan

Ninjapan

Curtidas 0

Respostas

Afarias

Afarias

19/03/2004

use o ´índice´ (posição) do campo::


select emp_no, sum(new_salary) TOTAL
from salary_history group by emp_no order by 2 desc rows 10


T+


GOSTEI 0
Ninjapan

Ninjapan

19/03/2004

Obrigado funcionou, mais uma coisa, há alguma restrição quanto ao uso do índice das colunas na criação dos scripts?

Boa noite


GOSTEI 0
Afarias

Afarias

19/03/2004

|há alguma restrição quanto ao uso do índice das colunas na criação dos
|scripts?

não sei se entendi a pergunta! a princípio nenhuma restrição.



T+


GOSTEI 0
Ninjapan

Ninjapan

19/03/2004

Olá, agora gostaria de trazer a descrição do produto, porém está retornado que a referência da coluna é inválida, mas não estou conseguindo enxergar o problema ainda, como eu poderia sanar isso?

select a.descricao, b.codbarra , sum(b.qtde) total
from cdprodutos a, vdpdvitem b where a.codbarra = b.codbarra
group by b.codbarra order by 3 desc rows 10

Obrigado


GOSTEI 0
Ninjapan

Ninjapan

19/03/2004

Consegui, foi distração minha, esqueci de incluir no group by a outra coluna:

select a.descricao, b.codbarra , sum(b.qtde) total
from cdprodutos a, vdpdvitem b where a.codbarra = b.codbarra
group by a.descricao, b.codbarra order by 3 desc rows 10

Valeu!!!


GOSTEI 0
POSTAR