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

Grupo de Columnas por año

Estas en el tema de Grupo de Columnas por año en el foro de Oracle en Foros del Web. Hola amigos. Tengo una duda con una consulta SQL y no se como hacerlo Primeramente tengo una tabla “personas” con los atributos pers_id, pers_nombre, pers_apellidos, ...
  #1 (permalink)  
Antiguo 25/05/2011, 12:29
 
Fecha de Ingreso: enero-2011
Ubicación: la paz
Mensajes: 53
Antigüedad: 13 años, 9 meses
Puntos: 3
Grupo de Columnas por año

Hola amigos.
Tengo una duda con una consulta SQL y no se como hacerlo
Primeramente tengo una tabla “personas” con los atributos pers_id, pers_nombre, pers_apellidos, pers_fnacimiento, etc
Lo que quiero realizar es una consulta SQL, que me muestre la cantidad de personas “Hombre” y “Mujer” que han nacido en un determinado mes y año, que se puedan agrupar por columnas de “AÑO” y “SEXO” y también agrupar por Filas “MES”
Año y Mes se obtienen de la fecha de nacimiento
El resultado más o menos seria una tabla de esta forma.
|__ 2000_ |__2001_ |__2002_ |__2003_ |
___|_H_|_M_|_H_|_M_|_H_|_M_|_H_|_M_|
Ene| 36 | 25 | 24 | 16 | 46 | 32 | 33 | 38 |
Feb| 36 | 25 | 36 | 25 | 36 | 25 | 36 | 25 |

Hasta ahora lo hice para un año y no sé cómo hacerlo para un rango de años 2000-2005

Esta es mi consulta SQL

SELECT to_char(p.pers_fnacimiento,'Month'),
sum(CASE WHEN p.pers_sexo = 'H' THEN 1 ELSE 0 END) H,
sum(CASE WHEN p.pers_sexo = 'M' THEN 1 ELSE 0 END) M,
count(*) total
FROM personas p
WHERE to_char(p.pers_fnacimiento,'YYYY')='2002'
GROUP BY to_char(p.pers_fnacimiento,'Month')

gracias por su tiempo

Etiquetas: año, columnas, grupo
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 15:16.