Documente Academic
Documente Profesional
Documente Cultură
-- determinamos los alumnos que por lo menos una vez el n�mero de cursos del
semestre
-- sea igual al numero de cursos aprobados en el semestre
select distinct t1.cod_alumno, nrosemaprobados = count(t2.semestre),
nrosemmatriculados = count(t1.semestre)
into #tmp_final
from #cursossem t1 left outer join #cursosaprobadossem t2
on (t1.semestre = t2.semestre) and (t1.cod_alumno = t2.cod_alumno)
and (t1.nrocursossemestre = t2.nrocursosaprobados)
group by t1.cod_alumno
having count(t2.semestre)>=1
-- seleccionamos los alumnos y las veces que hayan desaprobado cada asignatura
select cod_alumno, cod_asignatura, vecesdesaprobado = count(nota)
into #cursosdesaprobados
from matricula
where (case when nota <> 'nsp' then cast(nota as int) else 0 end) <10
group by cod_alumno, cod_asignatura
-- seleccionamos los alumnos que hayan desaprobado algun curso m�s de tres veces
-- y agregamos los datos de la asignatura
select cd.cod_alumno, a.*, vecesdesaprobado
into #areconsiderar
from #cursosdesaprobados cd, asignatura a
where cd.cod_asignatura = a.cod_asignatura
and vecesdesaprobado > 3