Jump to content
Fórum Script Brasil
  • 0

Calcular Custo máximo de venda por mês


SrGaldino

Question

Bom Dia Amigos.

Tenho uma rotina para realizar que parece ser simples mas não estou conseguindo finalizar.

O problema é o seguinte, um determinado produto e vendido durante o mês e eu tenho que pegar qual foi seu maior custo e repetir ate terminar o mês, no proximo mês inicia com o ultimo custo mas depois da primeira venda tenho que verificar qual o custo atual do mes. confuso? vou dar um exemplo abaixo.

Neste exemplo peguei venda de um produto durante 3 meses.

No primeiro mês o maior custo foi 1,05

No segundo mês o maior custo foi 1,05

No Terceiro mês o maior custo foi 0,91

Tenho que mostrar o maior custo por mês e o maior do periodo.

DATA VALOR CUSTO

1 -- 01/01/2012 -- 1 0,70

2 -- 10/01/2012 -- 1,3 -- 0,91

3 -- 14/01/2012 -- 1,1 -- 0,91

4 -- 18/01/2012 -- 1,5 -- 1,05

5 -- 20/01/2012 -- 1 -- 1,05

6 -- 29/01/2012 -- 1,2 -- 1,05

7 -- 01/02/2012 -- 1 -- 1,05

8 -- 01/02/2012 -- 1,2 -- 0,84

9 -- 10/02/2012 -- 1,1 -- 0,84

10 -- 12/02/2012 -- 1,3 -- 0,91

11 -- 26/02/2012 -- 1,2 -- 0,91

12 -- 28/02/2012 -- 1,3 -- 0,91

13 -- 01/03/2012 -- 1,1 -- 0,91

14 -- 05/03/2012 -- 1,2 -- 0,84

15 -- 10/03/2012 -- 1,1 -- 0,84

16 -- 25/03/2012 -- 1,2 -- 0,84

17 -- 27/03/2012 -- 1,3 -- 0,91

18 -- 30/03/2012 -- 1,2 -- 0,91

Obrigado.

Sandro Galdino

Edited by SrGaldino
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Bom dia Sandro,

Dê uma olhada se é isto que está precisando:

-- Criação de tabela temporária
create table #Tabela (DATA DATETIME, Valor smallmoney , Custo SMALLMONEY) 

-- Inserção dos dados
INSERT INTO #Tabela VALUES ('2012-01-01' , 1 , 0.70)
INSERT INTO #Tabela VALUES ('2012-01-10' , 1.3 , 0.91)
INSERT INTO #Tabela VALUES ('2012-01-14' , 1.1 , 0.91)
INSERT INTO #Tabela VALUES ('2012-01-18' , 1.5 , 1.05)
INSERT INTO #Tabela VALUES ('2012-01-20' , 1 , 1.05)
INSERT INTO #Tabela VALUES ('2012-01-29' , 1.2 , 1.05)
INSERT INTO #Tabela VALUES ('2012-02-01' , 1 , 1.05)
INSERT INTO #Tabela VALUES ('2012-02-01' , 1.2 , 0.84)
INSERT INTO #Tabela VALUES ('2012-02-10' , 1.1 , 0.84)
INSERT INTO #Tabela VALUES ('2012-02-12' , 1.3 , 0.91)
INSERT INTO #Tabela VALUES ('2012-02-26' , 1.2 , 0.91)
INSERT INTO #Tabela VALUES ('2012-02-28' , 1.3 , 0.91)
INSERT INTO #Tabela VALUES ('2012-03-01' , 1.1 , 0.91)
INSERT INTO #Tabela VALUES ('2012-03-05' , 1.2 , 0.84)
INSERT INTO #Tabela VALUES ('2012-03-10' , 1.1 , 0.84)
INSERT INTO #Tabela VALUES ('2012-03-25' , 1.2 , 0.84)
INSERT INTO #Tabela VALUES ('2012-03-27' , 1.3 , 0.91)
INSERT INTO #Tabela VALUES ('2012-03-30' , 1.2 , 0.91)

-- Verificação dos dados
SELECT * FROM #Tabela

-- Resultado
SELECT MONTH(DATA) Mes, MAX(Custo) FROM #Tabela GROUP BY MONTH(DATA)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...