Una dos tablas (con una relación 1-M) donde la segunda tabla debe 'aplanarse' en una fila

Dados las siguientes tablas:

Estudiant

+----+-------+
| id | Name  |
+----+-------+
| 1  | Chris |
| 2  | Joe   |
| 3  | Jack  |
+----+-------+

Inscripció

+---------------+------------+-----------+----------+
| enrollment_id | student_id | course_id | complete |
+---------------+------------+-----------+----------+
| 1             | 1          | 55        | true     |
| 2             | 1          | 66        | true     |
| 3             | 1          | 77        | true     |
| 4             | 2          | 55        | true     |
| 5             | 2          | 66        | false    |
| 6             | 3          | 55        | false    |
| 7             | 3          | 66        | true     |
+---------------+------------+-----------+----------+

Me gustaría lo siguiente

+----+-------+-----------+-----------+-----------+
| id | Name  | Course 55 | Course 66 | Course 77 |
+----+-------+-----------+-----------+-----------+
| 1  | Chris | true      | true      | true      |
| 2  | Joe   | true      | false     | NULL      |
| 3  | Jack  | false     | true      | NULL      |
+----+-------+-----------+-----------+-----------+

Nota 1 Sé que mysql no puede tener columnas dinámicas (¡corríjame si me equivoco!), Así que estoy contento con la consulta que comienza como:

SELECT id, name, course_55, course_66, course_77 etc...

Estoy contento con esto porque hay un número fijo de cursos (4 para ser exactos). @Idealment Me gustaría que fuera dinámico; es decir, no tener que escribir manualmente cada curso en la cláusula SELECT.

Nota 2 Esto necesita mysql puro: no quiero recurrir a PHP.

La base de datos actualmente es de más de 10000 estudiantes con más de 10000 * 4 inscripciones (ya que hay exactamente 4 cursos y cada estudiante está en los 4 módulos).

Nota 3 Student.user_id está indexado y también lo está inscripción.enrollment_id, inscripción.student_id y inscripción.course_id.

Respuestas a la pregunta(1)

Su respuesta a la pregunta