Olá pessoal nesse post rápido vou mostrar como converter linhas em colunas pré-determinadas.

Primeiro vamos criar a tabela de exemplo

CREATE TABLE venda (ano INT, lucro DECIMAL(10, 2));

Em seguida vamos inserir alguns dados

INSERT INTO venda (ano, lucro) VALUES(2010, 100.00);
INSERT INTO venda (ano, lucro) VALUES(2010, 100.00);
INSERT INTO venda (ano, lucro) VALUES(2011, 150.10);
INSERT INTO venda (ano, lucro) VALUES(2011, 170.10);
INSERT INTO venda (ano, lucro) VALUES(2012, 170.10);
INSERT INTO venda (ano, lucro) VALUES(2013, 190.10);

E finalmente vamos usar a função PIVOT para transformar linhas em colunas. Nessa consulta queremos saber qual a média por ano de venda.

SELECT [2010],
[2011],
[2012],
[2013]
FROM venda
PIVOT (AVG(lucro) FOR ano IN ([2010], [2011], [2012], [2013])) AS tabelaPivo

Resultado

resultado

Até a próxima!

Publicidade