Relatório com data

09/03/2017

0

SQL

Pessoal, preciso criar um relatório que retorne igual ao modelo abaixo.

código | produto | valor 1 | quantidade 1 |valor 2| quantidade 2 |valor 3 | quantidade 3 |

valor 1 = 3 meses atrás

valor 2 = 6 meses atrás

valor 3 = 9 meses atras

Como ficaria meu select?
Marcos Souza

Marcos Souza

Responder

Posts

09/03/2017

David Styveen

Bom dia, Marcos Souza

Você pode usar a função DATEADD para comprar se a data utilizada é compatível com a sua análise.
select codigo, produto
          ,sum(case when data > dateadd('mm',-3,getdate() ) then valor else 0 end) valor1
          ,sum(case when data > dateadd('mm',-3,getdate() ) then 1 else 0 end) quantidade1
          ,sum(case when data > dateadd('mm',-6,getdate() ) then valor else 0 end) valor2
          ,sum(case when data > dateadd('mm',-6,getdate() ) then 1 else 0 end) quantidade2
          ,sum(case when data > dateadd('mm',-9,getdate() ) then valor else 0 end) valor3
          ,sum(case when data > dateadd('mm',-9,getdate() ) then 1 else 0 end) quantidade3
from tabela
group by codigo, produto


Qualquer dúvida estou a disposição.
Responder

09/03/2017

Marcos Souza

Como que ficaria ao invés de começar a contar a data atual ( getdate ), contar a data do dia anterior? Porque no dia de hoje os vendedores estão passando pedidos e eu não vou conseguir fechar um valor certo.
Responder

09/03/2017

David Styveen

Pode usar o mesmo conceito:

select codigo, produto
,sum(case when data > dateadd(''mm'',-3,dateadd(''dd'',-1,getdate()) ) then valor else 0 end) valor1
,sum(case when data > dateadd(''mm'',-3,dateadd(''dd'',-1,getdate()) ) then 1 else 0 end) quantidade1
,sum(case when data > dateadd(''mm'',-6,dateadd(''dd'',-1,getdate()) ) then valor else 0 end) valor2
,sum(case when data > dateadd(''mm'',-6,dateadd(''dd'',-1,getdate()) ) then 1 else 0 end) quantidade2
,sum(case when data > dateadd(''mm'',-9,dateadd(''dd'',-1,getdate()) ) then valor else 0 end) valor3
,sum(case when data > dateadd(''mm'',-9,dateadd(''dd'',-1,getdate()) ) then 1 else 0 end) quantidade3
from tabela
group by codigo, produto
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar