Dúvida Oracle -Pegar ultimo registro por cliente

04/02/2019

0

Bom dia Pessoal,

Tenho uma dúvida. Tenho uma tabela de pedidos e gostaria de pegar o ultimo pedido por cliente.
Estou usando o SQL abaixo, mas não esta trazendo o ultimo:


SELECT PV.cod_emitente,Pv.Nr_Pedcli,Pv.Dt_Emissao
From Ems2mov.Ped_Venda Pv
Where Pv.Dt_Emissao = (Select Max(Pv.Dt_Emissao) From Ems2mov.Ped_Venda Where Pv.cod_emitente = cod_emitente)


Alguém teria uma ideia de como melhorar o código?
Cleiton Souza

Cleiton Souza

Responder

Post mais votado

04/02/2019

Bom dia! Já tentou pegar o top 1 e fazer uma ordenação pela data de emissão, por exemplo, de forma decrescente?

Acredito que vá funcionar!

Tomara que dê certo.

Ana Lichirgu

Ana Lichirgu
Responder

Mais Posts

04/02/2019

Cleiton Souza

Bom dia! Já tentou pegar o top 1 e fazer uma ordenação pela data de emissão, por exemplo, de forma decrescente?

Acredito que vá funcionar!

Tomara que dê certo.
Responder

04/02/2019

Alex William

SELECT TOP 1 PV.cod_emitente,Pv.Nr_Pedcli,Pv.Dt_Emissao
From Ems2mov.Ped_Venda Pv
Where Pv.cod_emitente = cod_emitente
ORDER BY Pv.Dt_Emissao DESC


Tentou desta forma?
Responder

04/02/2019

Cleiton Souza

Muito obrigado pessoal.

Fiz da seguinte forma:

SELECT DISTNCT PV.cod_emitente,Pv.Nr_Pedcli,Pv.Dt_Emissao
From Ems2mov.Ped_Venda Pv
Where Pv.Dt_Emissao = (
Select Max(Dt_Emissao) Dt_Emissao
From Ems2mov.Ped_Venda
Where Pv.cod_emitente = cod_emitente
)

Eu estava referenciando de forma errada a dt_emissão dentro do meu max dentro do subselect.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar