Jump to content

Daniel Martins Lobo

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About Daniel Martins Lobo

  1. Daniel Martins Lobo

    Trazer resultado do mês anterior

    Olá a todos, fiz uma query que posteriormente precisarei colocar em um job, portanto preciso que a @DATA_I e @DATA_F gere de forma automática. O que eu preciso é pegar o primeiro dia do mês anterior e o dia atual -1 só que do mês anterior. Exemplo: Hoje é 12/05, então precisaria pegar de 01/04/2017 a 11/04/2017. O primeiro dia do mês anterior eu já sei como fazer, vou usar (SELECT CONVERT(VARCHAR, DateAdd(mm, DateDiff(mm,0,GetDate()) - 1, 0),103)). O problema é pegar o mesmo dia atual -1 só que do mês anterior. Abaixo está a minha query: DECLARE @DATA_I DATE = '01-04-2017' DECLARE @DATA_F DATE = '11-04-2017' SELECT SUM ( A.VENDA_BRUTA ) AS VENDA_BRUTA , SUM ( A.DESCONTO ) AS DESCONTO , SUM ( A.VENDA_LIQUIDA ) AS VENDA_LIQUIDA , SUM ( A.IMPOSTOS ) AS IMPOSTOS , SUM ( A.QUANTIDADE * ISNULL ( B.CUSTO_CONTABIL , 0 ) ) AS CMV , SUM ( CASE WHEN A.TIPO_BONIFICACAO = 'V' THEN A.QUANTIDADE * A.BONIFICACAO ELSE A.VENDA_LIQUIDA * ( A.BONIFICACAO / 100 ) END ) AS BONIFICACAO , SUM ( CASE WHEN A.TIPO_COMISSAO = 'V' THEN A.QUANTIDADE * A.COMISSAO ELSE A.VENDA_LIQUIDA * ( A.COMISSAO / 100 ) END ) AS COMISSAO , SUM ( A.VENDA_LIQUIDA ) - SUM ( A.IMPOSTOS ) - SUM ( A.QUANTIDADE * ISNULL ( B.CUSTO_CONTABIL , 0 ) ) AS LUCRO_BRUTO FROM VENDAS_ANALITICAS A WITH(NOLOCK) JOIN EMPRESAS_USUARIAS X WITH(NOLOCK) ON X.EMPRESA_USUARIA = A.EMPRESA LEFT JOIN CUSTO_MEDIO_MENSAL_EMPRESA_CONTABIL B WITH(NOLOCK) ON B.PRODUTO = A.PRODUTO AND B.EMPRESA_CONTABIL = X.EMPRESA_CONTABIL AND B.MES = MONTH ( A.MOVIMENTO ) AND B.ANO = YEAR ( A.MOVIMENTO ) WHERE A.MOVIMENTO >= @DATA_I AND A.MOVIMENTO <= @DATA_F AND X.REDE = 1
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.