Select Transformar linha em coluna
Tenho o seguintes dados da tabela
Cod_produto, valor, coluna
xxxxxxxxx 50 1
xxxxxxxxx 60 2
xxxxxxxxx 70 3
yyyyyyyyy 50 1
yyyyyyyyy 60 2
yyyyyyyyy 70 3
Gostaria em um select de transformar linhas em colunas
coluna 1 2 3
xxxxxxxxxxx 50 60 70
yyyyyyyyyyy 50 60 70
Obs. Posso ter N qtde de colunas
No aguardo
Cod_produto, valor, coluna
xxxxxxxxx 50 1
xxxxxxxxx 60 2
xxxxxxxxx 70 3
yyyyyyyyy 50 1
yyyyyyyyy 60 2
yyyyyyyyy 70 3
Gostaria em um select de transformar linhas em colunas
coluna 1 2 3
xxxxxxxxxxx 50 60 70
yyyyyyyyyyy 50 60 70
Obs. Posso ter N qtde de colunas
No aguardo
Evandro Abreu
Curtidas 0
Respostas
Fernando
11/04/2011
Olá.
Estava com o mesmo problema.
Tente isto mudando os nomes conforme sua tabela
segue.
select b.proCod, MAX(b.loja1)loja1,MAX(b.loja2)loja2,MAX(b.loja3)loja3
from
(
select a.proCod,
LOJA1 = CASE WHEN A.lojCod = 1 THEN SUM(a.proqtest)
END,
LOJa2 = CASE WHEN A.lojCod = 2 THEN SUM(a.proqtest)
END,
LOJA3 = CASE WHEN A.lojCod = 3 THEN SUM(a.proqtest)
END
from pro2A a
GROUP BY a.lojCod,a.proCod) b
GROUP BY b.proCod
result
proCod loja1 loja2 loja3
100 5 10 15
200 10 5 5
300 5 10 15
400 10 5 5
Att, Fernando
Estava com o mesmo problema.
Tente isto mudando os nomes conforme sua tabela
segue.
select b.proCod, MAX(b.loja1)loja1,MAX(b.loja2)loja2,MAX(b.loja3)loja3
from
(
select a.proCod,
LOJA1 = CASE WHEN A.lojCod = 1 THEN SUM(a.proqtest)
END,
LOJa2 = CASE WHEN A.lojCod = 2 THEN SUM(a.proqtest)
END,
LOJA3 = CASE WHEN A.lojCod = 3 THEN SUM(a.proqtest)
END
from pro2A a
GROUP BY a.lojCod,a.proCod) b
GROUP BY b.proCod
result
proCod loja1 loja2 loja3
100 5 10 15
200 10 5 5
300 5 10 15
400 10 5 5
Att, Fernando
GOSTEI 0