FC ConcursosFC Concursos

Questão FC372782

Um analista da Secretaria de Estado utiliza uma tabela relacional Processo com as colunas IDProcesso, Ano e Quantidade_ de_Pareceres e pretende ver o total de pareceres de cada pro

Linguagem SQL

FCC · 2024

Um analista da Secretaria de Estado utiliza uma tabela relacional Processo com as colunas IDProcesso, Ano e Quantidade_ de_Pareceres e pretende ver o total de pareceres de cada processo, por ano, em colunas separadas deixando o resultado em um za TabelaAlvo. 

 

Para realizar essa operação no SQL Server, deve.se utilizar o comando

  1. UNION
  2. TRANSPOSE
  3. MERGE
  4. PIVOT
  5. JOIN
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

O comando PIVOT no SQL Server realiza a transformação de linhas em colunas, permitindo agregar valores por categorias que viram cabeçalhos de coluna. No caso, ele soma a Quantidade_de_Pareceres por IDProcesso e distribui esses totais em colunas distintas para cada Ano, entregando o resultado na TabelaAlvo.

Funciona em dois passos: primeiro cria-se uma subconsulta com as colunas-chave (IDProcesso, Ano, Quantidade_de_Pareceres); depois aplica-se o PIVOT com uma função de agregação, por exemplo SUM, e a cláusula FOR ... IN para listar os anos que virarão colunas.

Exemplo compacto:
INSERT INTO TabelaAlvo (...) SELECT * FROM (SELECT IDProcesso, Ano, Quantidade_de_Pareceres FROM Processo) AS src PIVOT ( SUM(Quantidade_de_Pareceres) FOR Ano IN ([2022],[2023],[2024]) ) AS pvt;

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo