Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Generar consulta con nombres de Meses

Estas en el tema de Generar consulta con nombres de Meses en el foro de Bases de Datos General en Foros del Web. Hola a todos, se me ha planteado esta consulta que no se como hacerla. Se trata de una tabla (PARTDIA) con los campos "Nombre","Fecha","Importe" por ...
  #1 (permalink)  
Antiguo 29/06/2005, 02:46
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Generar consulta con nombres de Meses

Hola a todos,
se me ha planteado esta consulta que no se como hacerla.

Se trata de una tabla (PARTDIA) con los campos "Nombre","Fecha","Importe" por ejemplo. Entonces debe quedar una consulta parecida a esto:

Nombre Enero Febrero Marzo ... Diciambre
--------------------------------------------
Pepe 300 400 600 800
Popo 600 700 600 500

Donde los valores deben ser el SUM(Importe) pertenecientes a cada mes. El mes se refiere al mes del campo "Fecha", pero han de aparecer todos los nombres de los meses, y si ese mes no hay partes, pues será importe 0. Una cuestión que se me plantea, es cómo genero los títulos de los meses.

Bueno, espero me puedan ayudar..
Gracias a todos!
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 29/06/2005, 14:21
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Que tal algo como:
Código:
SELECT nombre,
	SUM(CASE WHEN DatePart(Month, fecha) = 1 THEN importe
		ELSE 0 END) AS Enero,
	SUM(CASE WHEN DatePart(Month, fecha) = 2 THEN importe
		ELSE 0 END) AS Febrero
	...
FROM partida
GROUP BY nombre
PD. Sintaxis de TSQL
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 30/06/2005, 01:24
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Genial !

Gracias Mithrandir.
__________________
..:: moNTeZIon ::..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:42.