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

Si entiendo lo que me dices y es cierto. Pero lo que sucede es que primero debo calcular los alumnos que al menos tienen una asistencia (de ahi la relacion con asistencia) y luego, a partir de eso sacar los alumnos con determinados rango de edad. La verdad es que no entiendo muy bien como hacer la query. El tema es que si la consulta del calculo de asistencia me funciona muy bien.

Copio código:

Código PHP:
Ver original
  1. //verifico que al menos haya asistido a una clase
  2.                $result02=mysql_query ("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 ");

como hago para adaptar esta consulta al otro resultado que quiero. Como dije mas arriba, yo tengo en la base una view llamada alumnosedades con los campos apellido_nombre, dni, edad, id_act

con esta consulta sql hice la view
Código SQL:
Ver original
  1. CREATE VIEW `alumnosedades` AS
  2.  
  3. SELECT alumnos.apellido_nombre, alumnos.dni, actividades.id_act YEAR( CURDATE() ) - YEAR(date_format( str_to_date(fecha_nacimiento, '%d/%m/%Y' ), '%Y%m%d' ) ) edad FROM alumnos, actividades