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

query - contar cuantos alumnos por conferencia han ingresado en un MES determinado

Estas en el tema de query - contar cuantos alumnos por conferencia han ingresado en un MES determinado en el foro de Oracle en Foros del Web. tengo una tabla A con 2 columnas id_conferencia nombre_conferencia 1 2 3 4 5 6 tengo otra tabla B con un registro de alumnos que ...
  #1 (permalink)  
Antiguo 15/08/2011, 20:39
 
Fecha de Ingreso: octubre-2006
Mensajes: 59
Antigüedad: 17 años, 5 meses
Puntos: 0
query - contar cuantos alumnos por conferencia han ingresado en un MES determinado

tengo una tabla A con 2 columnas

id_conferencia nombre_conferencia
1
2
3
4
5
6

tengo otra tabla B con un registro de alumnos que ingresaron a las conferencias

fecha_ingreso id_alumno id_conferencia
12/02/2011 al_01 1
12/02/2011 al_02 1
12/02/2011 al_03 2
12/02/2011 al_04 2
13/03/2011 al_02 3
13/03/2011 al_03 5
13/03/2011 al_04 5
14/04/2011 al_02 1
14/04/2011 al_03 2
14/04/2011 al_04 2


Deseo saber cuantos alumnos por conferencia
han ingresado en el mes 03
debe mostrarse asi

id_conferencia cantidad
1 0
2 0
3 1
4 0
5 2
6 0

he intentado con esta consulta

select t1.id_conferencia, count(t2.id_conferencia)
from A t1, B t2
where t1.id_conferencia = t2.id_conferencia (+)
group by t1.id_conferencia
order by t1.id_conferencia;

hasta ahi parece trabajar bien
contando el total

id_conferencia cantidad
1 3
2 4
3 1
4 0
5 2
6 0


Pero si ingreso un AND para que me filtre por mes
no me muestra los otros id_conferencia en CERO

select t1.id_conferencia, count(t2.id_conferencia)
from A t1, B t2
where t1.id_conferencia = t2.id_conferencia (+)
and to_char(t2.fecha_ingreso,'MM')='03' <==========
group by t1.id_conferencia
order by t1.id_conferencia;

id_conferencia cantidad
3 1
5 2


HELP PLEASE!

Última edición por general9000; 15/08/2011 a las 20:45
  #2 (permalink)  
Antiguo 30/08/2011, 08:38
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: query - contar cuantos alumnos por conferencia han ingresado en un MES det

Debes trabajar las consultas por separado, si cruzas ambas tablas en la misma consulta no obtendras lo que buscas.
primero has una consulta que cuente los alumnos por conferencia y le pones los filtros que quieras: por mes, por año, etc...
luego asocias esta consulta a la tabla de referencia de conferencias con el outer join que usaste.

Código SQL:
Ver original
  1. SELECT *
  2.   FROM (
  3. SELECT TRUNC(FECHA, 'MONTH') FECHA, ID_CONFERENCIA, COUNT (*) CANTIDAD
  4.    FROM TABLA_A
  5.  WHERE FECHA BETWEEN TO_DATE('&COMIENZO_DE_MES','DD.MM.YYYY') AND ADD_MONTHS(TO_DATE('&COMIENZO_DE_MES','DD.MM.YYYY'), 1)
  6.            ) A,
  7.           TABLA_B B
  8.  WHERE A.ID_CONFERENCIA (+) = B.ID_CONFERENCIA

y listo.....

Saludos, Mario.
__________________
Y venció David al filisteo con honda y piedra; e hirió al filisteo y lo mató, sin tener David espada en su mano.
  #3 (permalink)  
Antiguo 01/09/2011, 12:12
an3
 
Fecha de Ingreso: diciembre-2009
Mensajes: 9
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: query - contar cuantos alumnos por conferencia han ingresado en un MES det

agrupa por fecha tambien y listo

Etiquetas: query
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 22:05.