select max em um campo calculado

Delphi

09/05/2005

considerando o seguinte instrução:

select (select sum(notas.valor_total) from notas where (notas.cliente_id = clientes.cliente_id) and notas.lanca_id = 3) TotalPEd, clientes.*
from CLIENTES

como poderia fazer para pegar o maior valor do campo TotalPed tentei algo do tipo:

select max(select sum(notas.valor_total) from notas where (notas.cliente_id = clientes.cliente_id) and notas.lanca_id = 3) TotalPEd, clientes.*
from CLIENTES


só que não deu certo


Steve_narancic

Steve_narancic

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

09/05/2005

Qual o seu banco de dados? Vc pode criar uma view que faça o SUM e depois fazer um SELECT em cima da view usando o MAX


GOSTEI 0
Steve_narancic

Steve_narancic

09/05/2005

Qual o seu banco de dados? Vc pode criar uma view que faça o SUM e depois fazer um SELECT em cima da view usando o MAX


utilizo firebird 1.5, poderia me dar uma pequena explicação de como fazer isto?


GOSTEI 0
Gandalf.nho

Gandalf.nho

09/05/2005

Vc poderia montar uma view pro SUM, ex:

CREATE VIEW TotalNotas (
cliente_id,
lanca_id,
soma_valor_total)
AS
SELECT cliente_id, lanca_id, sum(notas.valor_total) FROM notas;


E depois monte a query final em cima da view, assim:

select MAX(TotalNotas.soma_valor_total) TotalPed, clientes.* 
FROM TotalNotas INNER JOIN clientes 
ON TotalPed.cliente_id = clientes.cliente_id 
WHERE TotalNotas.lanca_id = 3


Só não testei o código.


GOSTEI 0
Steve_narancic

Steve_narancic

09/05/2005

muito obrigado, era exatamente isto que eu precisava


GOSTEI 0
POSTAR