De regisros a columnas, como?

02/03/2005 - 15:53 por Horacio | Informe spam
Hola, tengo una tabla con la siguiente estructura:
grupo - tipo - fecha - valor
1 A 1/1/1 123
1 B 1/1/1 111
1 C 1/1/1 222
2 A 1/1/1 222
2 B 1/1/1 111
2 C 1/1/1 333
1 A 2/1/1 444
1 B 2/1/1 555
1 C 2/1/1 222


para cada fecha y cada grupo tengo tres registros, uno de cada tipo ( A, B o
C)
Necesito un reporte de los valores para cada tipo y fecha
Fecha-Grupo - valor tipo A - Valor tipo B - Valor tipo C
1/1/1 1 123 111 222
1/1/1 2 222 111 333
2/1/1 1 444 555 222
Cómo puedo hacerlo?

Gracias

Horacio
 

Leer las respuestas

#1 Alejandro Mesa
02/03/2005 - 16:11 | Informe spam
Horacio,

Trata con esta sentencia.

select
fecha,
grupo,
max(case when tipo = 'A' then valor end) as valor_tipo_a,
max(case when tipo = 'B' then valor end) as valor_tipo_b,
max(case when tipo = 'C' then valor end) as valor_tipo_c
from
t
group by
fecha,
grupo
order by
fecha,
grupo
go


AMB


"Horacio" wrote:

Hola, tengo una tabla con la siguiente estructura:
grupo - tipo - fecha - valor
1 A 1/1/1 123
1 B 1/1/1 111
1 C 1/1/1 222
2 A 1/1/1 222
2 B 1/1/1 111
2 C 1/1/1 333
1 A 2/1/1 444
1 B 2/1/1 555
1 C 2/1/1 222


para cada fecha y cada grupo tengo tres registros, uno de cada tipo ( A, B o
C)
Necesito un reporte de los valores para cada tipo y fecha
Fecha-Grupo - valor tipo A - Valor tipo B - Valor tipo C
1/1/1 1 123 111 222
1/1/1 2 222 111 333
2/1/1 1 444 555 222
Cómo puedo hacerlo?

Gracias

Horacio


Preguntas similares