Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Relatorios De Fornecedores Top 10


ti-cst

Posts Recomendados


  • 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

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


  • 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

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


  • 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

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


  • 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

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 por João Rodrigo
Link para comentar
Compartilhar em outros sites


  • 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

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


  • 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

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


  • 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

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


  • 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

Obrigado de Certo.

Link para comentar
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.