Buscar último pedido e o seu valor

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
thalessan
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qua, 30 Mai 2012 9:43 am

Galera, estou precisando fazer a seguinte consulta:

Preciso saber qual o último pedido feito por um cliente e qual o vendedor que atendeu este cliente.
Os dados estão todos na tabela PEDIDO, mas fazendo o select abaixo o banco me retorna todos os pedidos feitos para o cliente que tem vendedores diferentes, mas eu preciso saber apenas os dados do ultimo pedido...

Como faço?

Exemplo:

Selecionar tudo

SELECT
  NOME_CLIENTE,
  MAX(PEDIDO),
  DATA_PEDIDO,
  VENDEDOR
FROM
  PEDIDOS
GROUP BY
  NOME_CLIENTE,
  DATA_PEDIDO,
  VENDEDOR
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Oi,

o que você pode fazer é no seu select trazer os campos sem funções de agrupamento, e nas condições igualar o pedido com o subselect do teu conjunto , onde, aí sim, buscar o MAX(pedido). Considerando que o MAX(PEDIDO) seja o ultimo pedido e não tenha furos.

Selecionar tudo

SELECT NOME_CLIENTE
      ,PEDIDO
      ,DATA_PEDIDO
      ,VENDEDOR
  FROM PEDIDOS P
 WHERE P.PEDIDO = (SELECT MAX(P2.PEDIDO)
                     FROM PEDIDOS P2
                    WHERE P2.NOME_CLIENTE = P.NOME_CLIENTE
                      AND P2.DATA_PEDIDO = P.DATA_PEDIDO
                      AND P2.VENDEDOR = P.VENDEDOR)
thalessan
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Qua, 30 Mai 2012 9:43 am

Valeu! Abraços!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes