Com o comando PIVOT, é possível transformar linhas em colunas com produtividade. Veja este exemplo abaixo:
create table registros(
dt_venda int,
grupo varchar(20),
valor numeric(10,2)
)
insert into registros(dt_venda,grupo,valor)
values (2007,'Florianópolis',100.32)
insert into registros(dt_venda,grupo,valor)
values (2007,'São Paulo',300.72)
insert into registros(dt_venda,grupo,valor)
values (2007,'Rio de Janeiro',700.82)
insert into registros(dt_venda,grupo,valor)
values (2008,'Florianópolis',800.32)
insert into registros(dt_venda,grupo,valor)
values (2008,'São Paulo',700.72)
insert into registros(dt_venda,grupo,valor)
values (2008,'Rio de Janeiro',660.82)
insert into registros(dt_venda,grupo,valor)
values (2009,'Florianópolis',340.32)
insert into registros(dt_venda,grupo,valor)
values (2009,'São Paulo',120.72)
insert into registros(dt_venda,grupo,valor)
values (2009,'Rio de Janeiro',30.82)
SELECT
Grupo AS Grupo,
[2007],
[2008],
[2009]
FROM
(SELECT
dt_venda,
grupo,
valor
FROM
registros) AS SourceTable
PIVOT
(
sum(valor)
FOR dt_venda IN ([2007], [2008], [2009])
) AS PivotTable
Nenhum comentário:
Postar um comentário
Leave your comment here!