Hmm, não testei. Experimente aí:

SELECT FIRST 1 CODPRODUTO, -MAX(VALORPRODUTO) AS MAXVAL FROM
TBPRODUTOS GROUP BY CODPRODUTO

Em 12/01/08, psdias2 (Yahoo) <[EMAIL PROTECTED]> escreveu:
>
> Pessoal:
>
>  a) Utilizo o FireBird 1.5, Delphi 7 e DBExpress
>
>  b) Tenho uma tabela com os campos CODPRODUTO e VALORPRODUTO
>  (na verdade, a tabela do meu sistema possui mais campos, mas para
>  a minha dúvida isto não importa).
>
>  c) Quero descobrir qual o código de produto que possui maior valor.
>  Tentei isto:
>
>  SELECT CODPRODUTO, MAX(VALORPRODUTO)
>  FROM
>     TBPRODUTOS
>
>  Mas no IBOConsole ou no meu sistema (através de um TSQLDataSet),
>  ocorre erro, por eu ter incluído o campo CODPRODUTO no SELECT.
>  (se eu usar um GROUP BY funciona, mas então são trazidos vários
>  registros, o que não atende minha necessidade).
>
>  Para contornar o problema, estou fazendo um SELECT sem o MAX,
>  ordenado pelo VALORPRODUTO e depois posiciono no último registro.
>  Porém, gostaria de confirmar com vocês se realmente o MAX não
>  aceita trazer nenhum outro campo.  Achei estranho, pois me parece ser
>  um tipo de SELECT que é necessário em várias situações.  O que vocês
>  fazem em uma situação como essa ?
>
>  Grato pela atenção de todos.
>
>  Paulo



-- 
Timeo hominem unius libri
Cogito ergo sum - Carpe diem

[]s
Guionardo Furlan
http://guionardo.blogspot.com

Responder a