select max em um campo calculado
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
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
Curtidas 0
Respostas
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
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
09/05/2005
Vc poderia montar uma view pro SUM, ex:
E depois monte a query final em cima da view, assim:
Só não testei o código.
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
09/05/2005
muito obrigado, era exatamente isto que eu precisava
GOSTEI 0