Obtendo maior lucratividade ordenado do maior para o menor

Delphi

21/11/2003

Primeiramente Olá para todos,

Estou com o seguinte problema, estou precisando relatar todos os produtos com os maiores Lucros ordenando do mais lucrativo para o menos lucrativo, meu código SQL está escrito da seguinte forma:

Select p.Cod, p.Descricao, p.Codigo, Max(i.PrecoUnitario) as PUnitario, Max(i.PrecoCusto) as PCusto, Sum(i.Quantidade) as Qtd
From Produtos p, NotaFiscalSaidaItens i, NotaSaida n
Group by p.Cod, p.Descricao, p.Codigo

Sabendo que o campo Lucro é um campo calculado eu não posso ordena-lo de forma alguma, gostaria de saber se existe alguma outra possibilidade de eu escrever este codigo SQL.

Desde já Muito Obrigado,


Nuk

Nuk

Curtidas 0

Respostas

Vanius

Vanius

21/11/2003

Boa tarde.

Como seria o campo Lucro?
PUnitario - PCusto?
Se for, Vc pode tentar colocar a query assim:

Select p.Cod, p.Descricao, p.Codigo, Max(i.PrecoUnitario) as PUnitario, Max(i.PrecoCusto) as PCusto, Sum(i.Quantidade) as Qtd,

(Max(i.PrecoUnitario) - Max(i.PrecoCusto) ) as Lucro

From Produtos p, NotaFiscalSaidaItens i, NotaSaida n
Group by p.Cod, p.Descricao, p.Codigo
ORDER BY Lucro DESC

Caso nao seje isto, vc pode pegar a sua consulta já com o campo calculado e rode registro por registro acrescentando estes em uma tabela em branco. Despois execute uma query em cima desta tabela ordenando da maneira q desejar.


Abraços,


Vanius
vaniusg@terra.com.br


GOSTEI 0
POSTAR