Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/10/2013, 07:07
tvzbien
 
Fecha de Ingreso: abril-2011
Mensajes: 49
Antigüedad: 13 años
Puntos: 3
Query execution was interrupted

Hola a todos, como todo novato es que tengo una gran laguna mental en la cual no puedo salir. Tengo esta consulta la cual funciona muy bien. Me devuelve la cantidad de alumnos que han asistido al menos a una clase por cada curso.

Código SQL:
Ver original
  1. //verifico que al menos haya asistido a una clase
  2.     SELECT r0.dni, r2.apellido_nombre, COUNT(r0.dni) Cant_presente, r1.teoricas, ( (COUNT(r0.dni) * 100) / r1.teoricas ) porcentaje, r1.actividad FROM asistencia r0
  3.                     INNER JOIN inscripciones r3 ON r3.id_act = r0.id_act
  4.                     INNER JOIN actividades r1 ON r1.id_act = r0.id_act
  5.                     INNER JOIN alumnos r2 ON r2.dni = r0.dni
  6.                     WHERE r0.dni=r3.dni AND r3.id_act=$identificacion_curso AND (r0.asistencia = 'presente' OR r0.asistencia='P')
  7.                     GROUP BY r0.dni, r0.id_act
  8.                     HAVING porcentaje >= 1
  9.                     ORDER BY r1.actividad ;



la cual la muestro asi:

Código PHP:
Ver original
  1. $totalrows02=mysql_num_rows ($result02);
  2. echo $totalrows02;

El problema es que ahora necesito saber el rango de edades de esos alumnos asistidos al menos a una clase. En la base he hecho una view en donde tengo todas las edades de todos los alumnos, sin filtrar por asistencias, ni inscripción de cursos ni nada. La consulta es esta:

Código SQL:
Ver original
  1. //cuento edades
  2.     SELECT r0.dni, r2.apellido_nombre, COUNT(r0.dni) Cant_presente, r1.teoricas, ( (COUNT(r0.dni) * 100) / r1.teoricas ) porcentaje, r1.actividad, r4.edad
  3.                     FROM asistencia r0
  4.                     INNER JOIN inscripciones r3 ON r3.id_act = r0.id_act
  5.                     INNER JOIN actividades r1 ON r1.id_act = r0.id_act
  6.                     INNER JOIN alumnos r2 ON r2.dni = r0.dni
  7.                     INNER JOIN alumnosedades r4 ON r4.id_act = r0.id_act
  8.                     WHERE r0.dni=r3.dni AND r3.id_act=$identificacion_curso AND (r0.asistencia = 'presente' OR r0.asistencia='P') AND r4.edad > 25
  9.                     GROUP BY r0.dni, r0.id_act
  10.                     HAVING porcentaje >= 1
  11.                     ORDER BY r1.actividad

y la quiero mostar así, todo esto también dentro del mismo while:

Código PHP:
Ver original
  1. $ver_edades=mysql_num_rows($edades);
  2. echo $ver_edades;

pero me devuelve el error " Query execution was interrupted ". Ya he intentado hacer todo tipo de cambios pero no logro que me cuente , por ej, la cantidad de alumnos mayores de 25 años que asistieron al menos a una clase. Desde ya muchas gracias y espero ansiosamente que puedan entenderme y ayudarme.

Última edición por Triby; 16/10/2013 a las 10:10 Razón: Highlight SQL