Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Leudassdf

Select distinct top 10

Mensagens Recomendadas

Leudassdf

Boas pessoal,

eu tenho uma tabela chamada transacoes e outra produtos.

Eu quero fazer um select distinct top 10 a tabela transacoes.

Eu fiz isto:



SELECT DISTINCT TOP (10) transacoes.cod_produto,produto.descricao
FROM			transacoes,produto
where transacoes.cod_produto=produto.cod_produto

No entanto a query acima indicada nao funciona. basicamente eu quero saber qual o top de vendas e depois mostrar os dados dos produtos mais vendidos.Neste caso só coloquei para mostrar a descricao do produto no entanto depois será para adicionar mais campos informativos em relação aquele produto

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Algo assim?

select top 10 t.cod_produto, p.descricao, t.quantidade from (
select cod_produto, count(*) as quantidade from transacoes group by cod_produto) as t
left join produto as p on p.cod_produto = t.cod_produto
order by t.quantidade desc

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Mete o DISTINCT depois do TOP, não te esqueças do ORDER BY.

select top (10) distinct transacoes.cod_produto, produto.descricao
from transacoes, produto
where transacoes.cod_produto = produto.cod_produto
order by <WHATEVER>

Editado por pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Leudassdf

Mete o DISTINCT depois do TOP, não te esqueças do ORDER BY.

select top (10) distinct transacoes.cod_produto, produto.descricao
from transacoes, produto
where transacoes.cod_produto = produto.cod_produto
order by <WHATEVER>

Boas,

Infelizmente nao funcionou.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pikax

SELECT top (10) transacoes.cod_produto, produto.descricao
FROM transacoes
  LEFT JOIN produto ON transacoes.cod_produto = produto.cod_produto
GROUP BY transacoes.cod_produto,produto.descricao

e assim?


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Leudassdf

SELECT top (10) transacoes.cod_produto, produto.descricao
FROM transacoes
  LEFT JOIN produto ON transacoes.cod_produto = produto.cod_produto
GROUP BY transacoes.cod_produto,produto.descricao

e assim?

Infelizmente tambem não. Dá-me o seguinte erro. Cannot use an aggregate or subquery in an expression used for the group by list of a GROUP BY clause

Leudassdf,

experimentaste o query que coloquei aqui?

Desculpa so responder agora.

Na altura nao tinha experimentado a tua.Para ser sincero quando fui consultar as respostas estava muito ocupado e nem me apercebi da tua resposta.

Respondendo a tua pergunta,Sim, a query funcionou.

Muito obrigada.

Cumprimentos

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.