• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pedroveracruz

obter apenas os 10 maiores registos no access

6 mensagens neste tópico

Olá a todos,

preciso mesmo de ajuda.  Sou um principiante no access e tenho andado a tentar fazer alguns querys lá na empresa.

O meu problema é o seguinte.

tenho uma tabela com os vendedores, 1 coluna, os cliente de cada vendedor 2º coluna, e o valor de vendas de cada Cliente na 3ª coluna.

quero montar um query que apenas me de os 5 maiores clinetes de cada vendedor, mas não encontro nenhuma formula que ajude o meu problema.

tenho 85 vendedores, e quero ter este query automático para correr todas as semanas,

o que quero obter era algo do genero

|vendedor|Cliente  |vendas|ranking

| joão      |loja A  |15.000|1

| joão      |loja b  |14.000 |2

| joão      |loja c  |13.000 |3

| joão      |loja d  |12.000 |4

| joão      |loja e  |11.000 |5

| maria    |loja a  |15.000 |1

| maria    |loja b  |14.000 |2

| maria    |loja c  |13.000 |3

| maria    |loja d  |12.000 |4

| maria    |loja e  |11.000 |5

os vendedores nunca têm o mesmo Cliente

Obrigado a todos os que me possam ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens aqui um Top 3 de exemplo:


SELECT t.*
FROM Tabela1 t
WHERE (Select count(*) from Tabela1 
WHERE t.Nome = Nome and t.Vendas < Vendas) < 3

Para por a coluna ranking é um bocado complicado para a utilidade q tem (Complicado em Access, em SQL Server é na boa com o Rank() ou Row Number()).

Mas em Access com uma abordagem através do count(*) com condições seria possivel chegar lá.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens aqui um Top 3 de exemplo:


SELECT t.*
FROM Tabela1 t
WHERE (Select count(*) from Tabela1 
WHERE t.Nome = Nome and t.Vendas < Vendas) < 3

Para por a coluna ranking é um bocado complicado para a utilidade q tem (Complicado em Access, em SQL Server é na boa com o Rank() ou Row Number()).

Mas em Access com uma abordagem através do count(*) com condições seria possivel chegar lá.

Tentei passar o SQL para o Access mas não funciona:(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu testei com uma tabela em Access e funcionou.

Aliás, fiz a query no Access.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu testei com uma tabela em Access e funcionou.

Aliás, fiz a query no Access.

Podes enviar-me a query? assim carregava só os dados.

Ob.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A query está no meu primeiro post.

Só tens q mudar os nomes para os da tua tabela e executar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora