none
Como adicionar o último valor pago e a estimativa a ser paga com base nos últimos preços pagos RRS feed

  • Pergunta

  • Eu tenho que fazer uma query para consultar os dados das vendas realizadas num período de 12 meses (detalhando por mês cada informação).

    A bronca surgiu nas seguintes parte: para concluí-la eu preciso adicionar mais dois campos, um que retorne o último preço pago pelo cliente  e um campo que retorne a estimativa a ser paga para o próximo mês (tirando por base a média dos 12 meses anteriores + 20%)

    quinta-feira, 12 de dezembro de 2013 09:56

Respostas

  • Deleted
    • Marcado como Resposta Giovani Cr quinta-feira, 19 de dezembro de 2013 12:19
    quinta-feira, 12 de dezembro de 2013 10:14
  • Bruna,

    Veja se este exemplo ajuda:

    SELECT CODREPRESENTANTE, 
               CASE LINHAPRODUTO
                WHEN '1' THEN '1 - BALÃO' 
                WHEN '2' THEN '2 - LUVAS DOMÉSTICAS' 
                WHEN '3' THEN '3 - LUVAS PROCEDIMENTOS' 
                WHEN '4' THEN '4 - LUVAS CIRÚRGICAS' 
                WHEN '5' THEN '5 - PROPAGANDA' 
               END AS LINHAPRODUTO,
               ANO2000=(CASE WHEN ANO=2000 THEN ROUND(SUM(VLFATURADO),2) ELSE 0 END),
               ANO2001=(CASE WHEN ANO=2001 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               ANO2002=(CASE WHEN ANO=2002 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               ANO2003=(CASE WHEN ANO=2003 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               ANO2004=(CASE WHEN ANO=2004 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END)
    FROM HISTORVENDAS
    GROUP BY CODREPRESENTANTE, LINHAPRODUTO, ANO
    ORDER BY CODREPRESENTANTE, LINHAPRODUTO, ANO


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Giovani Cr quinta-feira, 19 de dezembro de 2013 12:19
    sexta-feira, 13 de dezembro de 2013 16:48

Todas as Respostas

  • Deleted
    • Marcado como Resposta Giovani Cr quinta-feira, 19 de dezembro de 2013 12:19
    quinta-feira, 12 de dezembro de 2013 10:14
  • Bruna,

    Veja se este exemplo ajuda:

    SELECT CODREPRESENTANTE, 
               CASE LINHAPRODUTO
                WHEN '1' THEN '1 - BALÃO' 
                WHEN '2' THEN '2 - LUVAS DOMÉSTICAS' 
                WHEN '3' THEN '3 - LUVAS PROCEDIMENTOS' 
                WHEN '4' THEN '4 - LUVAS CIRÚRGICAS' 
                WHEN '5' THEN '5 - PROPAGANDA' 
               END AS LINHAPRODUTO,
               ANO2000=(CASE WHEN ANO=2000 THEN ROUND(SUM(VLFATURADO),2) ELSE 0 END),
               ANO2001=(CASE WHEN ANO=2001 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               ANO2002=(CASE WHEN ANO=2002 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               ANO2003=(CASE WHEN ANO=2003 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               ANO2004=(CASE WHEN ANO=2004 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2000=(CASE WHEN ANO=2000 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2001=(CASE WHEN ANO=2001 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2002=(CASE WHEN ANO=2002 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2003=(CASE WHEN ANO=2003 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA1_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=1 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA2_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=2 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA3_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=3 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA4_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=4 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END),
               LINHA5_ANO2004=(CASE WHEN ANO=2004 AND LINHAPRODUTO=5 THEN ROUND(SUM(VLFATURADO/100),2) ELSE 0 END)
    FROM HISTORVENDAS
    GROUP BY CODREPRESENTANTE, LINHAPRODUTO, ANO
    ORDER BY CODREPRESENTANTE, LINHAPRODUTO, ANO


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Marcado como Resposta Giovani Cr quinta-feira, 19 de dezembro de 2013 12:19
    sexta-feira, 13 de dezembro de 2013 16:48
  • Boa tarde Bruna,

    Você chegou a testar alguma sugestão que lhe foi passada?

    Caso alguma delas funcione não esqueça de marcar como resposta para fechar a sua Thread, e, caso tenha encontrado alguma solução poste a mesma para auxiliar outros usuários.

    Att,

    Giovani Cruzara – Microsoft Contingent Staff

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita.

    Msdn Community Support

    Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 18 de dezembro de 2013 14:22