Dúvida Oracle -Pegar ultimo registro por cliente

SQL

Oracle

Oracle PL SQL

04/02/2019

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

Curtidas 0

Melhor post

Ana Lichirgu

Ana Lichirgu

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.
GOSTEI 2

Mais Respostas

Cleiton Souza

Cleiton Souza

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.
GOSTEI 0
Alex William

Alex William

04/02/2019

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?
GOSTEI 1
Cleiton Souza

Cleiton Souza

04/02/2019

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.
GOSTEI 0
POSTAR