Dúvida Oracle -Pegar ultimo registro por cliente
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?
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
Curtidas 0
Melhor post
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.
Acredito que vá funcionar!
Tomara que dê certo.
GOSTEI 2
Mais Respostas
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.
Acredito que vá funcionar!
Tomara que dê certo.
GOSTEI 0
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
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.
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