ti-cst Postado 8 de Janeiro de 2013 Tópicos Que Criei: 59 Tópicos/Dia: 0.01 Meu Conteúdo: 141 Conteúdo/Dia: 0.03 Reputação: 1 Pontos/Conquistas: 1.296 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 46 Denunciar Compartilhar Postado 8 de Janeiro de 2013 Boa Tarde preciso de um relatorio que traga os 10 maiores fornecedores, ou seja, os fornecedores que mais compramos em um determinado periodo. Fiz assim mais não ta somando, ta saindo 10 compras de um fornecedor só. Algem pode me ajudar. SELECT TOP 10 TMOV.CODCFO, FCFO.NOMEFANTASIA, SUM(TMOV.VALORLIQUIDO) FROM TMOV JOIN FCFO ON TMOV.CODCOLIGADA = FCFO.CODCOLIGADA AND TMOV.CODCFO = FCFO.CODCFO RIGHT JOIN TMOVRELAC ON TMOV.IDMOV=TMOVRELAC.IDMOVDESTINO AND TMOV.CODCOLIGADA=TMOVRELAC.CODCOLDESTINO WHERE TMOV.CODTMV IN ('1.2.04','1.2.10','1.2.11','1.2.12','1.2.17','1.2.18','1.2.22','1.2.23','1.2.25','1.2.26','1.2.41','1.2.42','1.2.60') AND TMOV.DATACRIACAO >='20120101' AND TMOV.DATACRIACAO <='20121231' GROUP BY TMOV.CODCFO,FCFO.NOMEFANTASIA,TMOV.VALORLIQUIDO ORDER BY TMOV.CODCFO DESC Resultado F19471 TORCISÃO 198.6000 F19471 TORCISÃO 2636.0000 F19471 TORCISÃO 4095.0000 F19471 TORCISÃO 4836.0000 F19471 TORCISÃO 5272.0000 F19471 TORCISÃO 6706.9100 F19471 TORCISÃO 9306.9900 F19471 TORCISÃO 10647.0000 F19471 TORCISÃO 12367.5700 F19471 TORCISÃO 15983.2600 Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
João Rodrigo Postado 8 de Janeiro de 2013 Tópicos Que Criei: 6 Tópicos/Dia: 0.00 Meu Conteúdo: 290 Conteúdo/Dia: 0.06 Reputação: 17 Pontos/Conquistas: 1.523 Conteúdo Resolvido: 0 Dias Ganho: 12 Status: Offline Denunciar Compartilhar Postado 8 de Janeiro de 2013 Tira o Valorliquido do group by SELECT TOP 10 TMOV.CODCFO, FCFO.NOMEFANTASIA, SUM(TMOV.VALORLIQUIDO) FROM TMOV JOIN FCFO ON TMOV.CODCOLIGADA = FCFO.CODCOLIGADA AND TMOV.CODCFO = FCFO.CODCFO RIGHT JOIN TMOVRELAC ON TMOV.IDMOV=TMOVRELAC.IDMOVDESTINO AND TMOV.CODCOLIGADA=TMOVRELAC.CODCOLDESTINO WHERE TMOV.CODTMV IN ('1.2.04','1.2.10','1.2.11','1.2.12','1.2.17','1.2.18','1.2.22','1.2.23','1.2.25','1.2.26','1.2.41','1.2.42','1.2.60') AND TMOV.DATACRIACAO >='20120101' AND TMOV.DATACRIACAO <='20121231' GROUP BY TMOV.CODCFO,FCFO.NOMEFANTASIA ORDER BY TMOV.CODCFO DESC Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
ti-cst Postado 8 de Janeiro de 2013 Tópicos Que Criei: 59 Tópicos/Dia: 0.01 Meu Conteúdo: 141 Conteúdo/Dia: 0.03 Reputação: 1 Pontos/Conquistas: 1.296 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 46 Autor Denunciar Compartilhar Postado 8 de Janeiro de 2013 Ta assim agora, mais eu preciso ordenar pelo maior valor e não pode repetir o fornecedor. SELECT TOP 5 FCFO.CODCFO, FCFO.NOME, SUM (TMOV.VALORLIQUIDO) FROM TMOV JOIN FCFO ON TMOV.CODCOLIGADA = FCFO.CODCOLIGADA AND TMOV.CODCFO = FCFO.CODCFO RIGHT JOIN TMOVRELAC ON TMOV.IDMOV=TMOVRELAC.IDMOVDESTINO AND TMOV.CODCOLIGADA=TMOVRELAC.CODCOLDESTINO WHERE TMOV.CODTMV IN ('1.2.04','1.2.10','1.2.11','1.2.12','1.2.17','1.2.18','1.2.22','1.2.23','1.2.25','1.2.26','1.2.41','1.2.42','1.2.60') AND TMOV.DATACRIACAO >='20120101' AND TMOV.DATACRIACAO <='20121231' AND TMOV.CODCOLIGADA=1 GROUP BY FCFO.CODCFO,FCFO.NOME, TMOV.VALORLIQUIDO ORDER BY TMOV.VALORLIQUIDO DESC Resultado: F16868 CISA TRADING S/A 2386946.7400 F03406 CIBER EQUIPAMENTOS RODOVIARIOS LTDA 1000000.0000 F06518 PARANÁ EQUIPAMENTOS S/A 660000.0000 F15651 QUALITEC INDÚSTRIA E COMÉRCIO LTDA 09855.0000 F06518 PARANÁ EQUIPAMENTOS S/A 600000.0000 Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
João Rodrigo Postado 8 de Janeiro de 2013 Tópicos Que Criei: 6 Tópicos/Dia: 0.00 Meu Conteúdo: 290 Conteúdo/Dia: 0.06 Reputação: 17 Pontos/Conquistas: 1.523 Conteúdo Resolvido: 0 Dias Ganho: 12 Status: Offline Denunciar Compartilhar Postado 8 de Janeiro de 2013 (editado) Você colocou novamente o ValorLiquido no group By Tente assim: SELECT TOP 5 FCFO.CODCFO, FCFO.NOME, SUM (TMOV.VALORLIQUIDO) FROM TMOV JOIN FCFO ON TMOV.CODCOLIGADA = FCFO.CODCOLIGADA AND TMOV.CODCFO = FCFO.CODCFO RIGHT JOIN TMOVRELAC ON TMOV.IDMOV=TMOVRELAC.IDMOVDESTINO AND TMOV.CODCOLIGADA=TMOVRELAC.CODCOLDESTINO WHERE TMOV.CODTMV IN ('1.2.04','1.2.10','1.2.11','1.2.12','1.2.17','1.2.18','1.2.22','1.2.23','1.2.25','1.2.26','1.2.41','1.2.42','1.2.60') AND TMOV.DATACRIACAO >='20120101' AND TMOV.DATACRIACAO <='20121231' AND TMOV.CODCOLIGADA=1 GROUP BY FCFO.CODCFO,FCFO.NOME ORDER BY TMOV.VALORLIQUIDO DESC Editado 8 de Janeiro de 2013 por João Rodrigo Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
ti-cst Postado 9 de Janeiro de 2013 Tópicos Que Criei: 59 Tópicos/Dia: 0.01 Meu Conteúdo: 141 Conteúdo/Dia: 0.03 Reputação: 1 Pontos/Conquistas: 1.296 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 46 Autor Denunciar Compartilhar Postado 9 de Janeiro de 2013 Se eu tirar o valorliquido do Group BY da este erro: Mensagem 8127, Nvel 16, Estado 1, Linha 14 O nome de coluna "TMOV.VALORLIQUIDO" invlido na clusula ORDER BY porque no est contido em uma funo de agregao nem na clusula GROUP BY. Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
João Rodrigo Postado 9 de Janeiro de 2013 Tópicos Que Criei: 6 Tópicos/Dia: 0.00 Meu Conteúdo: 290 Conteúdo/Dia: 0.06 Reputação: 17 Pontos/Conquistas: 1.523 Conteúdo Resolvido: 0 Dias Ganho: 12 Status: Offline Denunciar Compartilhar Postado 9 de Janeiro de 2013 use o order pela coluna (ORDER BY 3 desc), segue o select abaixo: SELECT TOP 5 FCFO.CODCFO, FCFO.NOME, SUM (TMOV.VALORLIQUIDO) FROM TMOV JOIN FCFO ON TMOV.CODCOLIGADA = FCFO.CODCOLIGADA AND TMOV.CODCFO = FCFO.CODCFO RIGHT JOIN TMOVRELAC ON TMOV.IDMOV=TMOVRELAC.IDMOVDESTINO AND TMOV.CODCOLIGADA=TMOVRELAC.CODCOLDESTINO WHERE TMOV.CODTMV IN ('1.2.04','1.2.10','1.2.11','1.2.12','1.2.17','1.2.18','1.2.22','1.2.23','1.2.25','1.2.26','1.2.41','1.2.42','1.2.60') AND TMOV.DATACRIACAO >='20120101' AND TMOV.DATACRIACAO <='20121231' AND TMOV.CODCOLIGADA=1 GROUP BY FCFO.CODCFO,FCFO.NOME ORDER BY 3 desc Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 10 de Janeiro de 2013 Tópicos Que Criei: 900 Tópicos/Dia: 0.14 Meu Conteúdo: 8.851 Conteúdo/Dia: 1.34 Reputação: 310 Pontos/Conquistas: 106.650 Conteúdo Resolvido: 0 Dias Ganho: 195 Status: Online Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 10 de Janeiro de 2013 Se vc usou um SUM nos campos, deve então usar o Order by 3, como falado acima, ou mesmo SUM (TMOV.VALORLIQUIDO) que é o que consta na parte do Select... Não pode haver no ORDER algum campo que não conste no inicio. Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
ti-cst Postado 10 de Janeiro de 2013 Tópicos Que Criei: 59 Tópicos/Dia: 0.01 Meu Conteúdo: 141 Conteúdo/Dia: 0.03 Reputação: 1 Pontos/Conquistas: 1.296 Conteúdo Resolvido: 0 Dias Ganho: 1 Status: Offline Idade: 46 Autor Denunciar Compartilhar Postado 10 de Janeiro de 2013 Obrigado de Certo. Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados