Array
(
)

Retornar 3 ultimos registros de cada cliente

Edjborges
   - 30 set 2005

Preciso fazer uma consulta para retornar a partir de uma tabela, ordenando por data, os 3 ultimos registros de venda de cada cliente.
considerando o exemplo abaixo:

select codigocliente, datavenda, valorvenda from vendas
order by datavenda

a partir deste select preciso filtrar do resulta as 3 ultimas vendas de cada cliente

Um Abraço a todos e agradeço pela anteção

Beppe
   - 01 out 2005

Tente assim:

#Código

select v1.codigocliente, v1.datavenda, v1.valorvenda from vendas v1
where campochave in (select top 3 v2.campochave from vendas v2 where v1.codigocliente = v2.codigocliente order by v2.datavenda desc)
order by v1.datavenda