GARANTIR DESCONTO

Fórum Lista com Valor dos Registros recentes pegando ultima data #49451

21/02/2005

0

Ola

Não sei deu para entender o cabeçalho. Mas é o seguinte: Tenho uma tabela chamada ENTRADA com os campos CODIGO, VALOR, DATA. Tenho o produto CODIGO 1 e preciso pegar o VALOR da registro que contem a DATA mais recente. Para ser mais exato preciso de um select que me informe qual o valor mais recente de cada produto na lista.


Mais uma vez muito obrigado.

Marcos Roberto


Marcosrodias

Marcosrodias

Responder

Posts

21/02/2005

Beppe

Tem duas soluções:

select first 1 VALOR
from ENTRADA
where DATA = max(DATA)

select first 1 VALOR
from ENTRADA
order by DATA desc


A primeira eu não sei se funcionaria com campos date.


Responder

Gostei + 0

21/02/2005

Marcosrodias

Ola

Colega o select que vce me passou retonrou apenas um registro fiz assim com está abaixo. Como mostrar todos os produtos ?

Grato

Select first 1 CUSTO_PRODUTO
from ENTRADA_COMPRA, ENTRADA_COMPRA_ITENS
Where ENTRADA_COMPRA.Numero_Compra = ENTRADA_COMPRA_ITENS.Numero_Compra
And ENTRADA_COMPRA.Codigo_Cliente = ENTRADA_COMPRA_ITENS.Codigo_cliente
And ENTRADA_COMPRA.Descricao_Serie = ENTRADA_COMPRA_ITENS.Descricao_Serie
And ENTRADA_COMPRA.Codigo_Filial = ENTRADA_COMPRA_ITENS.Codigo_Filial
order by DATA_ENTRADA desc


Responder

Gostei + 0

21/02/2005

Gandalf.nho

Select CUSTO_PRODUTO, MAX(DATA_ENTRADA) 
from ENTRADA_COMPRA, ENTRADA_COMPRA_ITENS 
Where ENTRADA_COMPRA.Numero_Compra = ENTRADA_COMPRA_ITENS.Numero_Compra 
And ENTRADA_COMPRA.Codigo_Cliente = ENTRADA_COMPRA_ITENS.Codigo_cliente 
And ENTRADA_COMPRA.Descricao_Serie = ENTRADA_COMPRA_ITENS.Descricao_Serie 
And ENTRADA_COMPRA.Codigo_Filial = ENTRADA_COMPRA_ITENS.Codigo_Filial 
group by CUSTO_PRODUTO
order by CUSTO_PRODUTO desc



Responder

Gostei + 0

21/02/2005

Marcosrodias

Ola

Quero ver o valor que corresponde aquela data.

Como fazer

Obrigado


Responder

Gostei + 0

21/02/2005

Afarias

uma solução é:


select * from entrada E 
where data = (select max(data) from entrada where codigo=E.codigo);


mas só deve funcionar adequadamente de o campo DATA nunca se repetir para um mesmo produto (for data e hora ou datas únicas/produto)


T+


Responder

Gostei + 0

21/02/2005

Marcosrodias

Ola Farias

Meu probelma é exatamente esse os produtos se repetem sim. Não to conseguindo pensar em outra solução. Que sugestão voce me da ?

Um Abraço

Marcos Rioberto


Responder

Gostei + 0

21/02/2005

Beppe

Achei que o que a gandalf postou tinha funcionado. Bem, pra mim, se não funcionou, o jeito é partir para um SP.

create procedure SP_UltimoValor returns (ACODIGO integer, AVALOR integer) as
begin
    for select distinct CODIGO from ENTRADAS into :ACODIGO do
    begin
        select VALOR from ENTRADAS where CODIGO = :ACODIGO
        where DATA = max(DATA) order by DATA desc into :AVALOR;
        suspend;
    end;
end;


Mude o tipo de AVALOR para o tipo que está usando para o campo VALOR.

A lei de Murphy me diz que eu errei a sintaxe... :)


Responder

Gostei + 0

22/02/2005

Afarias

|Meu probelma é exatamente esse os produtos se repetem sim. Não to
|conseguindo pensar em outra solução. Que sugestão voce me da ?

o q eu disse é q não pode haver DATAS (data + hora) exatamente iguais para o mesmo produto! Os produtos podem sim estar repetidos!!!


T+


Responder

Gostei + 0

22/02/2005

Marcosrodias

Ola Farias

Valeu mais uma vez. Agora deixa comigo. Muito Obrigado

Marcos Roberto


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar