none
Somar os valores de uma coluna e adicionar uma linha com o resultado da soma SQL Server RRS feed

  • Pergunta

  • Bom dia

    Tenho a seguinte tebela

    TABLE #RMMTA ( TIPO varchar(82), DIA   int, CAT1  int, CAT2  int, CAT3  int, CAT4  int, CAT5  int, CAT6  int, CAT7  int, CAT8  int, VALOR  int)

    é o resultado de uma procedure, que une 3 outras tabelas, originando essa tabela temporaria.

    Dessa tabela preciso criar duas novas tabelas

    Desde já agradeço a ajuda.

    terça-feira, 18 de setembro de 2012 13:20

Respostas

  • Bom dia Alisson, acho que o que vai te ajudar são agrupamentos com rollup, cube ou resulting set, porem estes componentes serã removidos em versões futuras do SQL, para sua ultima tabela ficaria mais ou menos assim:

    select
    	Consulta,
    	Dia,
    	SUM(isnull(Cat1,0)) as Cat1
    	-- faça o mesmo de cima para os outros campos de soma
    		from tabela
    group by Cube (Consulta,Dia)

    De uma olhada neste link que pode te ajudar com isto; http://technet.microsoft.com/en-us/library/bb522495(v=sql.105).aspx

    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    terça-feira, 18 de setembro de 2012 13:50
  • Coloquei alguns exemplos sobre isso em: http://www.robersonferreira.com.br/rollupecube/

    Se quiser dar uma olhada para entender mais...

    Essa também é uma questão referente aqui no fórum. E se você fizer uma busca com algumas palavras-chave (como: "calculando totais", "cube", "rollup", etc) encontrará bastante material.


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    terça-feira, 18 de setembro de 2012 14:09
    Moderador

Todas as Respostas

  • Bom dia Alisson, acho que o que vai te ajudar são agrupamentos com rollup, cube ou resulting set, porem estes componentes serã removidos em versões futuras do SQL, para sua ultima tabela ficaria mais ou menos assim:

    select
    	Consulta,
    	Dia,
    	SUM(isnull(Cat1,0)) as Cat1
    	-- faça o mesmo de cima para os outros campos de soma
    		from tabela
    group by Cube (Consulta,Dia)

    De uma olhada neste link que pode te ajudar com isto; http://technet.microsoft.com/en-us/library/bb522495(v=sql.105).aspx

    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    terça-feira, 18 de setembro de 2012 13:50
  • Coloquei alguns exemplos sobre isso em: http://www.robersonferreira.com.br/rollupecube/

    Se quiser dar uma olhada para entender mais...

    Essa também é uma questão referente aqui no fórum. E se você fizer uma busca com algumas palavras-chave (como: "calculando totais", "cube", "rollup", etc) encontrará bastante material.


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    terça-feira, 18 de setembro de 2012 14:09
    Moderador