Ola,
estou com muita dificuldade para criar uma consulta que retorne o top 3 dos produtos que cada cliente comprou por data, seria algo do tipo.
o cliente 1 comprou o produto 1 nos períodos 2016/11, 2016/10, 2016/09, 2016/08, 2016/07 ...
a consulta retornaria apenas 2016/11, 2016/10, 2016/09 para esse cliente / produto.
eu cheguei no seguinte código:
Essa consulta fica rodando e não retorna nada, é extremamente pesada, já tentei gravar os dados da primeira parte da consulta em uma tabela temporária mas mesmo assim não fez a consulta ficar rápida.
O meu raciocinio é o seguinte: a primeira consulta tem o produto que cada cliente comprou em todos os periodos, dessa consulta eu so retornaria o que esta entre os valores maximos para cara cliente e produto que é a parte do IN da consulta.
alguem sabe como fazer uma consulta desse tipo no access?
estou com muita dificuldade para criar uma consulta que retorne o top 3 dos produtos que cada cliente comprou por data, seria algo do tipo.
o cliente 1 comprou o produto 1 nos períodos 2016/11, 2016/10, 2016/09, 2016/08, 2016/07 ...
a consulta retornaria apenas 2016/11, 2016/10, 2016/09 para esse cliente / produto.
eu cheguei no seguinte código:
- Código:
SELECT
V1.CodSAP_Cliente,
V1.CodSAP_ItemProduto,
C1.ANOMES
FROM VOLUME_ITEM V1
INNER JOIN CALENDARIO C1 ON C1.DATA = V1.DATA_EMISSAO
WHERE C1.ANOMES IN
(
SELECT distinct top 3
C.ANOMES
FROM VOLUME_ITEM V
INNER JOIN CALENDARIO C ON C.DATA = V.DATA_EMISSAO
where V1.CodSAP_Cliente = V.CodSAP_Cliente and V1.CodSAP_ItemProduto = V.CodSAP_ItemProduto
order by C.ANOMES desc
)
Essa consulta fica rodando e não retorna nada, é extremamente pesada, já tentei gravar os dados da primeira parte da consulta em uma tabela temporária mas mesmo assim não fez a consulta ficar rápida.
O meu raciocinio é o seguinte: a primeira consulta tem o produto que cada cliente comprou em todos os periodos, dessa consulta eu so retornaria o que esta entre os valores maximos para cara cliente e produto que é a parte do IN da consulta.
alguem sabe como fazer uma consulta desse tipo no access?