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

Preguntas similare

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


Respuesta Responder a este mensaje
#2 Horacio
02/03/2005 - 18:23 | Informe spam
Funcionó muy bien.
Muchas gracias Alejandro!

Saludos


Horacio

"Alejandro Mesa" wrote:

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
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida