consulta com max mostrar campo
Bem amigos estou com uma bronquinha eu sempre faço este procedimento mas com umas gambiarras a consulta e a seguinte
SELECT LIFD, LIPD, MAX(LIVL) FROM LICITACAOITENS
GROUP BY LIFD, LIPD
isto e para um licitação, são digitados todos os campos porem quero que me retorne o valor máximo do produto por fornecedor, porém se for com esta consulta ele me retorna várias vezes o mesmo produto.
será que alguem ai tem uma ideia ???
SELECT LIFD, LIPD, MAX(LIVL) FROM LICITACAOITENS
GROUP BY LIFD, LIPD
isto e para um licitação, são digitados todos os campos porem quero que me retorne o valor máximo do produto por fornecedor, porém se for com esta consulta ele me retorna várias vezes o mesmo produto.
será que alguem ai tem uma ideia ???
Sremulador
Curtidas 0
Respostas
Afarias
12/08/2005
Vc quer o valor máximo por produto, e então qual(is) o(s) fornecedor(es) que oferece(m) este valor máximo, correto?
Um procedimento cai bem...:
T+
Um procedimento cai bem...:
set term ^; create procedure maximos returns (produto tipo, valor tipo, fornecedor tipo) as begin for select lipd, max(livl) from licitacaoitens into :produto, :valor do begin for select lifd from licitacaoitens where lipd=:produto and livl=:valor into :fornecedor do suspend; end end^
T+
GOSTEI 0
Afarias
12/08/2005
Ah! vc pode por um parâmetro de entrada neste procedimento para informar qual a licitação deve ser pesquisada (para não ser todas como está!)
T+
T+
GOSTEI 0
Sremulador
12/08/2005
mestre deu certo porém temos que levar em conta que se os valores forem iguais para os mesmos fornecedores ele vai cair duas vezes o mesmo item, mas terei que contornar este probleminha de outra maneira obrigado.
RETURNS (
LIPD INTEGER,
LIFD INTEGER,
LIVL DECIMAL (18, 2))
AS
BEGIN
FOR SELECT LIPD, MAX(LIVL) FROM licitacaoitens
GROUP BY LIPD
INTO :LIPD, :LIVL DO
begin
FOR SELECT LIFD FROM licitacaoitens
WHERE LIPD=:LIPD AND LIVL=:LIVL
INTO :LIFD DO
SUSPEND;
END
SUSPEND;
GOSTEI 0
Afarias
12/08/2005
|mestre deu certo porém temos que levar em conta que se os valores
|forem iguais para os mesmos fornecedores ele vai cair duas vezes o
|mesmo item
Achei q a intenção era essa... afinal, se 2 fornecedores tem o mesmo preço, como vc escolheria entre 1 dos 2?? Teria q haver outro ´parâmetro´ ai...
T+
|forem iguais para os mesmos fornecedores ele vai cair duas vezes o
|mesmo item
Achei q a intenção era essa... afinal, se 2 fornecedores tem o mesmo preço, como vc escolheria entre 1 dos 2?? Teria q haver outro ´parâmetro´ ai...
T+
GOSTEI 0