Foros del Web » Programando para Internet » PHP »

Consulta SQL

Estas en el tema de Consulta SQL en el foro de PHP en Foros del Web. Saludos a todos, Bueno la idea es la siguiente, tengo una tabla donde registro las calificaciones de los estudiantes, donde ahi un campo llamado estado, ...
  #1 (permalink)  
Antiguo 11/11/2007, 09:49
 
Fecha de Ingreso: junio-2006
Mensajes: 61
Antigüedad: 18 años, 4 meses
Puntos: 2
Pregunta Consulta SQL

Saludos a todos,

Bueno la idea es la siguiente, tengo una tabla donde registro las calificaciones de los estudiantes, donde ahi un campo llamado estado, 1 significa que la materia está en curso, 2 que fue aprobada y 3 que la perdió, pero resulta que necesito hacer una consulta del historico de notas, es decir que me muestre todas las asignaturas que ya paso, pero tambien las que haya perdido...ahi es donde está el lio, necesito que si por lo menos perdio matematicas dos veces solo me muestre el registro de la ultima materia vez que la perdio.

el query que tengo es el siguiente, pero me muestra dos veces la materia matematicas como perdida, necesito que solo me aperezca una vez...es decir los resultados de la ultima vez que la perdió.

$query="Select asig.nom_asig,asig.cod_asig,asig_ins.Id_asignatura _inscrita,asig_ins.Nota_Corte1,asig_ins.Nota_Corte 2,asig_ins.Nota_Examen,asig_ins.Definitiva from estudiante est, instancia_curso inst, asignaturas_inscritas asig_ins,asignatura asig where asig_ins.Id_Instancia=inst.Id_Instancia and est.Id_Estudiante=asig_ins.Id_Estudiante and asig_ins.id_estudiante='$estudiante' and inst.Id_asignatura=asig.cod_asig and (asig_ins.estado='2' or asig_ins.estado='3')";

ahora mejor explicado, nececito el ultimo registro insertado en matematicas por ejemplo donde asig_ins.estado='3'.


Agradezco de antemano cualquier ayuda.
  #2 (permalink)  
Antiguo 11/11/2007, 10:50
Avatar de ESNOLA  
Fecha de Ingreso: octubre-2006
Mensajes: 188
Antigüedad: 18 años, 1 mes
Puntos: 20
Re: Consulta SQL

Supongo que en la tabla tienes un campo donde guarda la fecha del registro o en su defecto un campo auto_increment.
Entonces te puede servir añadirlle a la consulta que tienes :

Código PHP:
 ORDER BY campo_tiempo DESC LIMIT 1 
o bien si es un campo auto_increment
Código PHP:
ORDER BY campo_increment DESC LIMIT 1 
  #3 (permalink)  
Antiguo 11/11/2007, 12:08
 
Fecha de Ingreso: junio-2006
Mensajes: 61
Antigüedad: 18 años, 4 meses
Puntos: 2
Pregunta Re: Consulta SQL

Hola esnola,

De antemano muchas gracias por tu respuesta, tengo el query de la siguiente manera.

$query="Select asig.nom_asig,asig.cod_asig,asig_ins.Id_asignatura _inscrita,asig_ins.Nota_Corte1,asig_ins.Nota_Corte 2,asig_ins.Nota_Examen,asig_ins.Definitiva,asig_in s.estado from estudiante est, instancia_curso inst, asignaturas_inscritas asig_ins,asignatura asig where asig_ins.Id_Instancia=inst.Id_Instancia and est.Id_Estudiante=asig_ins.Id_Estudiante and asig_ins.id_estudiante='$estudiante' and inst.Id_asignatura=asig.cod_asig and (asig_ins.estado='2' or asig_ins.Id_asignatura_inscrita in(select max(id_asignatura_inscrita) from asignaturas_inscritas where estado='3'))";

funciona perfecto pero ahi un problema, cuando solo ahi un registro no me muestra nada, es decir solo funciona cuando ahi mas de un registro que cumple con que esa materia ese estudiante la repitio dos veces, en ese caso me sale la ultima vez que la vio. pero cuando solo la repitio la está repitiendo una vez no me sale nada.

Gracias de antemano,

Saludos

Última edición por camilodeveloper; 11/11/2007 a las 12:23
  #4 (permalink)  
Antiguo 11/11/2007, 13:52
Avatar de ESNOLA  
Fecha de Ingreso: octubre-2006
Mensajes: 188
Antigüedad: 18 años, 1 mes
Puntos: 20
Re: Consulta SQL

Buufff, con tanta estructura en la consulta y sin saber de que va el tema se me hace imposible seguirla. Lo siento.
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:02.