none
apresentar soma em uma unica linha RRS feed

  • Pergunta

  • Boa tarde!

    Estou precisando desenvolver uma consulta sql que me mostre o valor total de uma determinada filiaL, sendo que essa filial possui "filhas", entao preciso da soma geral, em que é dada pelo valor total da filial mais o total das "filhas".

    Ex: Tabela:Contabil

    Filial   | contrato         | data              | valor
    01      | fortaleza        | 20160101     | 700,00

    02      | fortaleza- 01  |20160101      | 200,00

    03      | fortaleza- 02  |20160103      | 100,00

    07      | Belo Horizonte |20160103     | 300,00

    04      | Belo Horizonte  1|20160103  | 300,00

    Como faço para que o select some as "filhas" e a princial, e atribua o valor total a principal?

    ficando desta forma:

    Filial   | contrato         | data              | valor

    01      | fortaleza         | 20160101     | 900,00

    01      | fortaleza         | 20160103    | 100,00

    07      | Belo Horizonte |20160103    | 600,00

    Tentei da seguinte maneira porém nap obtive sucesso:

    select  Grupo as cod_filial,DescGrupo as desc_filial, sum(Valor) as sum_custo_filial, v.competencia,  
    from dbo.contabil v
    where DescDetalheVisao NOT IN ('Depreciação e Amortização - Operacional') 
    AND v.tipo = 1
    AND v.idGrupoCentroCusto IN (41,42, 104,218)-- acrescentei essa linha pra ele somar tudo dessas filiais
    AND ( Dtnova between '20160101' and '20160131')
    roup by v.competencia,  Grupo, DescGrupo,  t.grupoccusto, 

    Alguém poderia me ajudar?



    quarta-feira, 11 de janeiro de 2017 18:20

Respostas

  • São 2 tabelas, uma de filiais e outra de lançamentos?

    Caso seja, acho que uma alternativa seria criar uma nova coluna na tabela de filiais para inserir o código da filial pai daquela filial, sendo que se a filial não tiver pai você poderia deixar a coluna com null.

    Acho que dessa forma seria possível trocar o código da filial pelo código da filial pai para poder acumular os valores.

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta carine.couto quarta-feira, 11 de janeiro de 2017 20:22
    quarta-feira, 11 de janeiro de 2017 20:06

Todas as Respostas

  • Deleted
    quarta-feira, 11 de janeiro de 2017 19:28
  • Boa tarde,

    Existe alguma coluna nessa tabela ou em outra para identificar que uma determinada filial é filha de uma outra?


    Assinatura: http://www.imoveisemexposicao.com.br

    quarta-feira, 11 de janeiro de 2017 19:29
  • Boa tarde, esse esta sendo o meu problema pois não temos.

    Temos apenas uma tabela e cadastramos as filiais, e outra onde fazemos os lançamentos referente a filial. E por erro ou nao sei o que , usuário ao invés de fazer lançamentos na filial já existente ele criou outra filial e saiu fazendo lançamentos rs ( Estávamos tentando automatizar uma planilha).

    Quando vamos consultar o valor da filial , esta mostrando valor divergente que é justamente esses valores que foram lançados em uma outra filial. (São muitos lançamentos )

    Entao pensamos na possibilidade de tentar somar o valor dessas filiais "filhas".

    outra ponto que pensei que se nao for possivel fazer essa opção citada acima, criar uma procedure que consolide os valores da filial em uma tabela e em seguida criar uma view trazendo os valores das outras filiais e usar um union all com um select somando apenas os valores dessas filiais

    quarta-feira, 11 de janeiro de 2017 19:40
  • São 2 tabelas, uma de filiais e outra de lançamentos?

    Caso seja, acho que uma alternativa seria criar uma nova coluna na tabela de filiais para inserir o código da filial pai daquela filial, sendo que se a filial não tiver pai você poderia deixar a coluna com null.

    Acho que dessa forma seria possível trocar o código da filial pelo código da filial pai para poder acumular os valores.

    Espero que ajude


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta carine.couto quarta-feira, 11 de janeiro de 2017 20:22
    quarta-feira, 11 de janeiro de 2017 20:06
  • Vou tentar dessa forma.

    Muito obrigada pela atenção!

    quarta-feira, 11 de janeiro de 2017 20:22