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


[As partes desta mensagem que não continham texto foram removidas]

Responder a