none
Ordenar Faturamento por mês. RRS feed

  • Pergunta

  • Bom dia a todos, estou tentando desenvolver uma consulta que me retorne o faturamento total por cliente  ordenado por mês.

    Ex:

    Cliente Jose mês Janeiro: R$ 100,00

    Cliente Jose Fevereiro: R$ 500,00

    Cliente Jose março: R$ 70000

    SELECT E1_CLIENTE[Cliente],CONVERT(varchar(50),(dateadd(day,28, E1_EMISSAO)),103)[data], SUM (E1_VALOR)[Valor]
    FROM SE1010
    where E1_EMISSAO >='20150101'
    GROUP BY E1_CLIENTE,E1_EMISSAO
    order by E1_CLIENTE

    obrigado a todo que me ajudarem.


    analista

    sexta-feira, 11 de dezembro de 2015 13:28

Respostas

  • Ola Flaviano,

    Acredito que voce queira fazer um relatorio anual correto ?

    Dessa forma pode ser feito assim:

    SELECT
       E1_CLIENTE AS Cliente,
       MONTH(E1_EMISSAO) as Mes,
       SUM(E1_VALOR) AS Valor
    FROM
       SE1010
    WHERE
       YEAR(E1_EMISSAO) = 2015
    GROUP BY E1_CLIENTE, MONTH(E1_EMISSAO)
    ORDER BY E1_CLIENTE

    Caso o campo E1_EMISSAO nao seja do tipo DateTime, apesar de se nao me enganar o SQL Server convert string no formato YYYYMMDD para data sozinho... voce pode fazer desta forma tambem:

    SELECT
       E1_CLIENTE AS Cliente,
       SUBSTRING(E1_EMISSAO, 4, 2) as Mes,
       SUM(E1_VALOR) AS Valor
    FROM
       SE1010
    WHERE
       LEFT(E1_EMISSAO, 4) = '2015'
    GROUP BY E1_CLIENTE, SUBSTRING(E1_EMISSAO, 4, 2)
    ORDER BY E1_CLIENTE
    


    Microsoft Community Contributor

    • Sugerido como Resposta FLauffer sábado, 12 de dezembro de 2015 20:24
    • Marcado como Resposta Marcos SJ segunda-feira, 14 de dezembro de 2015 13:03
    sábado, 12 de dezembro de 2015 12:37
    Moderador

Todas as Respostas

  • Ola Flaviano,

    Acredito que voce queira fazer um relatorio anual correto ?

    Dessa forma pode ser feito assim:

    SELECT
       E1_CLIENTE AS Cliente,
       MONTH(E1_EMISSAO) as Mes,
       SUM(E1_VALOR) AS Valor
    FROM
       SE1010
    WHERE
       YEAR(E1_EMISSAO) = 2015
    GROUP BY E1_CLIENTE, MONTH(E1_EMISSAO)
    ORDER BY E1_CLIENTE

    Caso o campo E1_EMISSAO nao seja do tipo DateTime, apesar de se nao me enganar o SQL Server convert string no formato YYYYMMDD para data sozinho... voce pode fazer desta forma tambem:

    SELECT
       E1_CLIENTE AS Cliente,
       SUBSTRING(E1_EMISSAO, 4, 2) as Mes,
       SUM(E1_VALOR) AS Valor
    FROM
       SE1010
    WHERE
       LEFT(E1_EMISSAO, 4) = '2015'
    GROUP BY E1_CLIENTE, SUBSTRING(E1_EMISSAO, 4, 2)
    ORDER BY E1_CLIENTE
    


    Microsoft Community Contributor

    • Sugerido como Resposta FLauffer sábado, 12 de dezembro de 2015 20:24
    • Marcado como Resposta Marcos SJ segunda-feira, 14 de dezembro de 2015 13:03
    sábado, 12 de dezembro de 2015 12:37
    Moderador
  • Rui Santos, muito obrigado.

    analista

    • Marcado como Resposta Flaviano_fs segunda-feira, 14 de dezembro de 2015 17:38
    • Não Marcado como Resposta Flaviano_fs segunda-feira, 14 de dezembro de 2015 17:38
    segunda-feira, 14 de dezembro de 2015 17:38