entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Mostrar todos los nombres con id iguales consecutivamente

Buen día, estoy realizando un registro de estudiantes, en este caso hay estudiantes que pueden haver realizado más de un curso, por lo que se le guarda con su ID_Alumno, el ID_Curso de cada curso realizado es diferente por alumno, no va a tener el mismo curso dos veces registrado, mi pregunta es:

¿Qué puedo hacer para que me muestre los cursos realizados por ese solo alumno de forma consecutiva? Solo quiero el nombre del curso que realizo. Por ejemplo:

Alumno 1
Cursos realizados:

1- Inicio en PHP.
2- Inicio en Java.


Ejemplo 2:

Alumno 2
Cursos realizados:

1- Inicio en Java.
2- Inicio en Framework laravel.
3- Complementos básicos CSS.

Cada alumno puede haber hecho uno o más cursos, yo quiero que me traiga el nombre de los cursos que realizo el alumno buscado. ¿Qué codigo podría usar en este caso?

1voto

ArtEze comentado

¿Estás trabajando con SQL? y si es así, ¿Con qué tablas? ¿Hay algún código que hayas intentado y no te funcionó?

1voto

Gabriela-0310 comentado

Si, la base de datos de datos es SQL, la base de datos es "informacion_alumnos" donde uso las tablas:
-alumnos (Que contiene los datos basicos como id, nombre, correo, teléfono, ubicación, etc)
-cursos (Donde solo tiene el id del curso y el nombre)
-cursos_que_ha_tomado (Aquí tengo el id de la tabla, id del alumno, id del curso, esatus, calificación, etc.)

Hasta ahora no se que codigo me ayudaria a tomar en la tabla "cursos_que_ha_tomado" el id del alumno y con la relación traerme el nombre de todos los cursos realizados por ese alumno en específico, mostrandolos consecutivamente como:
Curso 1 realizado:
xyz
Curso 2 realizado:
abc

Por poner como ejemplo.

1 Respuesta

2votos

ArtEze Puntos1180

Para filtrar por alumno se hace así, por ejemplo, el alumno 10:

select * from cursos_que_ha_tomado where ID_Alumno = 10

El resultado sería como el siguiente:

id_tabla ID_Alumno ID_Curso estatus calificacion 
   0         10       5        1       6
   0         10       5        0       8
   0         10       6        1       9

Se puede ver que sale el curso 5 y 6, entonces, para seleccionar los valores entre las dos tablas, se hace un INNER JOIN.

En el siguiente ejemplo se muestra la columna ID_Alumno.

Se hace lo siguiente para el alumno 10:

select cursos_que_ha_tomado.id_alumno,cursos.ID_Curso,cursos.nombre
from cursos
inner join cursos_que_ha_tomado
where cursos_que_ha_tomado.ID_CURSO = cursos.ID_Curso
and cursos_que_ha_tomado.ID_Alumno = 10;

Salida esperada:

id_alumno  ID_Curso  nombre del curso
  10          5       Inicio en PHP.
  10          6       Inicio en Java

Para mostrarlo sin la columna ID_Alumno, es decir, solo los cursos, se hace así:

select cursos.ID_Curso,cursos.nombre
from cursos
inner join cursos_que_ha_tomado
where cursos_que_ha_tomado.ID_Curso = cursos.ID_Curso
and cursos_que_ha_tomado.ID_Alumno = 10

La salida sería como la siguiente:

ID_Curso  nombre del curso
   5       Inicio en PHP.
   6       Inicio en Java

2votos

Gabriela-0310 comentado

Muchisimas gracias, la explicación es muy clara y me ha ayudado, ahora si me esta saliendo como quiero, gracias nuevamente.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta