Leudassdf Posted May 13, 2013 at 11:17 PM Report #507208 Posted May 13, 2013 at 11:17 PM 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
nelsonr Posted May 14, 2013 at 08:22 AM Report #507228 Posted May 14, 2013 at 08:22 AM 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
pmg Posted May 14, 2013 at 08:23 AM Report #507229 Posted May 14, 2013 at 08:23 AM (edited) 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> Edited May 14, 2013 at 08:24 AM by 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!
Leudassdf Posted May 14, 2013 at 02:33 PM Author Report #507298 Posted May 14, 2013 at 02:33 PM 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.
pikax Posted May 14, 2013 at 02:35 PM Report #507299 Posted May 14, 2013 at 02:35 PM 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."
nelsonr Posted May 14, 2013 at 02:43 PM Report #507301 Posted May 14, 2013 at 02:43 PM Leudassdf, experimentaste o query que coloquei aqui?
Leudassdf Posted May 14, 2013 at 05:09 PM Author Report #507338 Posted May 14, 2013 at 05:09 PM 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
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now