DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!

Conceitos e Exemplos do COMPUTE BY - Compute By e Case: SQL Server 2008 - Parte 1

Neste artigo veremos os conceitos e exemplos com as cláusulas COMPUTE e COMPUTE BY.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você gostaria de comentar o que não lhe agradou?

 Olá pessoal, neste artigo veremos os conceitos e exemplos com as cláusulas COMPUTE COMPUTE BY. Acompanhem:

 COMPUTE e COMPUTE BY – Usamos a cláusula COMPUTE para obtermos visualmente dados totalizados. Já com a cláusula COMPUTE BY podemos visualizar os dados sem os mesmos serem agrupados.    

 Por meio do COMPUTE BY, é possível visualizar tanto linhas de detalhe, como linhas de resumo com o uso de uma instrução SELECT.

 Importante ressaltar que o resultado gerado pela cláusula COMPUTE é apenas para visualização e não pode ser usado, ou seja, não possui característica relacional. Em conjunto com o COMPUTE, podemos usar nomes de funções descritas em artigos anteriores, como MIN, MAX, AVG, COUNT ou SUM.

 Com base na tabela Produtos, vamos realizar uma totalização das quantidades de produtos, que no resultado estarão separados por tipo. Para isso, usaremos o seguinte comando:


  SELECT Nome, Fabricante, Quantidade, Tipo
    FROM Produtos
   ORDER BY Tipo
 COMPUTE SUM (Quantidade) BY Tipo
 COMPUTE SUM (Quantidade)

 Veja o resultado:

 
 No código acima temos a cláusula COMPUTE SUM (Quantidade) BY Tipo. Ele usará o tipo de produto como critério para obter subtotais das quantidades de produtos em estoque. Temos também a cláusula COMPUTE SUM (Quantidade), que irá obter como resultado um total geral, ao final da exibição dos dados.
 

 COMPUTE BY com JOIN – Podemos usar a cláusula COMPUTE BY junto de outra cláusula a fim de fazer a associação de várias tabelas. Essa outra cláusula é a JOIN.

 A seguir, temos um exemplo do uso de COMPUTE BY com JOIN, usando as tabelas Funcionario, Cargo e Vendas, criadas nos artigos anteriores desta série:



  SELECT F.NomeFuncionario AS [Nome], F.SalarioFuncionario AS [Salário],
         V.ValorPedido AS [Valor], C.NomeCargo AS [Cargo]
    FROM Funcionario AS F
   INNER JOIN Cargo AS C
      ON C.IdCargo = F.IdCargo
   INNER JOIN Vendas AS V
      ON V.IdFuncionario = F.IdFuncionario
   ORDER BY F.NomeFuncionario
 COMPUTE SUM (F.SalarioFuncionario) BY F.NomeFuncionario
 COMPUTE SUM (F.SalarioFuncionario)

 

 Veja o resultado:

 Valores gerados por COMPUTE – Quando usamos a cláusula COMPUTE, obtemos valores de resumo, os quais são exibidos nos resultados de pesquisa como grupos de resultado divididos. Os resultados de uma pesquisa que inclui uma cláusula COMPUTE são como control-break reports, ou seja, relatórios que resumem dados em intervalos e grupos que o usuário define.

 Com COMPUTE é possível obter valores de resumo para grupos, bem como calcular, para o mesmo grupo, mais de uma função agregada.

 Assim finalizo o artigo. Na próxima parte veremos a continuação deste artigo, além de vermos conceitos e exemplos com a cláusula CASE, aguardem!

 Um abraço, e até o próximo artigo.

 Wellington Balbo de Camargo

 wellingtonbalbo@gmail.com



Wellington Balbo De Camargo
Tecnólogo em Análise de Sistemas, atua na área de Desenvolvimento .NET com aplicações Web a 2 anos, onde trabalha atualmente com a linguagem C# usando a tecnologia ASP.NET, no desenvolvimento em camadas usando o banco de dados SQL Server. Procura estudar cada vez mais para melhorar os conheciment...
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03