Ya que no entiendo nada con esas bases de datos te explicaré como lo haría yo:
DB Cursos:
DB Alumnos:
Código:
ID
Alumno_Nombre
Alumno_Grupo
Alumno_Curso
DB Grupos: (alumnos):
Código PHP:
//Seleccionamos el curso del que queremos sacar información
$CursoId=1;//Elegimos el curso.
$getCourse=mysql_query("SELECT Nombre_Curso FROM grupos WHERE id='".$cursoId."' ")or die(mysql_error());
$Course=mysql_fetch_array($getCourse);
//Ya tenemos el nombre del curso. Vamos a ver cuantos alumnos hay inscrutos:
$getNumberStudents=mysql_query("SELECT count(id) AS total FROM alumnos WHERE Alumno_Grupo='".$Course['Nombre_Curso']."'") or die(mysql_error());
$NumberStudents=mysql_fetch_array($getNumberStudents);
//Ya tenemos los alumnos totales: $NumberStudents['total']
//Ahora a mirar cuantos grupos hay y cuales son:
$getGroups = mysql_query("SELECT Grupo,Grupo_Curso FROM grupos WHERE Grupo_Curso='".$Course['Nombre_Curso']."' ORDER BY id ASC"); //ASC o DESC...
$NumberGroups=mysql_num_rows($getGroups);
for($i=1;$i<=$NumberGroups;$i++)
{
$Group=mysql_fetch_array($getGroups, MYSQL_BOTH);
$GroupsNames.=$Group['Grupo']; //Empezar con un .= producirá un warning sin importancia. Si quieres evitarlo simplemente utiliza un IF's.
if($NumberGroups!=$i && $i!=$NumberGroups-1) //Si no es el último ni el penúltimo:
{
$GroupsNames.=', ';
} else if($i==$NumberGroups-1) //Si es el penúltimo:
{
$GroupsNames.='y ';
}else if($i==$NumberGroups) //Si es el último:
$GroupsNames.='.';
}
echo'En el curso de '.Course['Nombre_Curso'].' hay '.$NumberStudents['total'].' alumnos y este se divide en '.$NumberGroups.' grupo(s): '.$GroupsNames;
Quizá hice algo mal, no lo sé. Revisa que no tenga errores.
Espero que te sirva.