none
Consulta com junção de dados RRS feed

  • Pergunta

  • Boa noite Amigos,

    Preciso fazer uma junção de dados, no meu cenário possuo a tabela de vendas com as seguinte colunas:

    L1_FILIAL | L1_NUM | L1_VEND | L1_CLIENTE | L1_VLRLIQ | L1_EMISNF  -- demais colunas....

    No ano de 2016 a filial 15 era na 05, a filial 16 era 07, entre outras, preciso realizar uma soma onde eu traga o total de uma período, por exemplo, 01-01-2016 a 31-01-2016 como loja 15, porem como informei nesse período era loja 05, entao a consulta tem que buscar e somar o total de l1_vlrliq da loja 05 e resultar como loja 15. 

    No caso não posso trazer a loja como coluna, a loja tem que vim e linha, por exemplo

    L1_FILIAL | total_L1_VLRLIQ

    02                10000

    15                12000

    16                11000

    Alguma sugestão de como fazer isso via consulta do sql?

    Muito obrigado!

    Jonathan Santos.


    domingo, 18 de junho de 2017 01:45

Respostas

Todas as Respostas

  • Deleted
    domingo, 18 de junho de 2017 12:47
  • Boa tarde José,

    Novamente você respondendo meu tópico, primeiramente obrigado. 

    Então, acontece que houve mudanças internas onde as lojas mudaram de número pois mudaram dados cadastrais como CNPJ e etc, porém administrativamente, considero o histórico da loja antiga como referencia para meta de vendas. 

    Então tenho todo o ano de 2016 as lojas 03 - 05 - 07 - 11, que no ano de 2017 viraram respectivamente 12 - 15 - 16 e 18.

    a data da venda é o campo L1_emisnf.

    Nosso banco de dados é SQL 2005.

    Rodei a consulta sugerida no management studio e resultou no seguinte erro:

    Mensagem 102, Nível 15, Estado 1, Linha 11
    Incorrect syntax near '7'.

    Como se ele não estivesse entendendo a parte onde indicou a mudança da loja:

    INSERT into @renumFilial (Filial_ant, Filial_atu, Data) values 
       (5, 15, convert(date, '20170101', 103)); 
       (7, 16, convert(date, '20170101', 103));

    Resumindo, como nosso sistema é desenvolvido de uma forma que não possibilita muito desenvolvimento, não consigo realizar essa marcação de mudança de loja.

    Basicamente, se conseguirmos através de uma consulta filtrar deste modo, por exemplo, em 2016 somar as vendas da loja 05, porem trazer no resultado como filial 15 já resolveria o que preciso.

    Novamente agradeço seu retorno.

    Atenciosamente,

    Jonathan Santos.

    domingo, 18 de junho de 2017 19:56
  • Deleted
    domingo, 18 de junho de 2017 23:16
  • Então tenho todo o ano de 2016 as lojas 03 - 05 - 07 - 11, que no ano de 2017 viraram respectivamente 12 - 15 - 16 e 18.
    (...)
    a data da venda é o campo L1_emisnf.
    (...)
    Nosso banco de dados é SQL 2005.

    Jonathan, poderia informar como está declarada a coluna L1_EMISNF? Date? Datetime? outro? Se estiver como string, qual é o formato: dd/mm/aaaa? aaaa-mm-dd? aaaammdd? outro?

    Alterei o código #1 acima para que funcione na versão 2005 do SQL Server. Espero que não tenha erro, pois não tive a oportunidade de testar.


           José Diz     Belo Horizonte, MG - Brasil


    José,

    A data está 20170101 (anomesdia)

    Obrigado,

    Atenciosamente,

    Jonathan Santos.

    segunda-feira, 19 de junho de 2017 02:10
  • Deleted
    segunda-feira, 19 de junho de 2017 11:06