SQL Server - Duda SQL

 
Vista:

Duda SQL

Publicado por Luis castro (1 intervención) el 30/08/2015 23:43:00
buenos días,

amigos tengo la siguiente duda:
mi tabla de SQL guarda datos de la siguiente forma:

dia mes año valor
1 1 2015 100
2 1 2015 200
3 1 2015 300

1 12 2015 500
2 12 2015 600
3 12 15 700

así para todos los días del año. necesito mostrar los datos en un informe de la siguiente manera:

día ene feb .. dic
1 100 0 500
2 200 0 600
3 300 700

los días del 1 al 31 como columna, y los meses del 1 al 12 como fila (encabezado),
algo muy parecido a http://www.xotels.com/images/stories/blog/demand_calendar_1a.png

muchas gracias por cualquier ayuda que me puedan colaborar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 86
Ha disminuido su posición en 2 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Duda SQL

Publicado por Rafael (110 intervenciones) el 31/08/2015 14:36:10
Espero haberte entendido ...

Aqui el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT dia
     , SUM(case when mes=1 then valor else 0 end) as 'ENE'
     , SUM(case when mes=2 then valor else 0 end) as 'FEB'
     , SUM(case when mes=3 then valor else 0 end) as 'MAR'
     , SUM(case when mes=4 then valor else 0 end) as 'ABR'
     , SUM(case when mes=5 then valor else 0 end) as 'MAY'
     , SUM(case when mes=6 then valor else 0 end) as 'JUN'
     , SUM(case when mes=7 then valor else 0 end) as 'JUL'
     , SUM(case when mes=8 then valor else 0 end) as 'AGO'
     , SUM(case when mes=9 then valor else 0 end) as 'SEP'
     , SUM(case when mes=10 then valor else 0 end) as 'OCT'
     , SUM(case when mes=11 then valor else 0 end) as 'NOV'
     , SUM(case when mes=12 then valor else 0 end) as 'DIC'
FROM   Valores
GROUP  BY Dia

Obvio le he puesto a la tabla nombre valores tendras que cambiar a los nombres reales.

Aqui una imagen de la prueba deberia de funcionar correctamente...
Imagen

Ya nos contaras si te sirve o no, no te olvides de puntuar.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar