Cita: La situación es que tengo más de un campo calificación, tengo de hecho 10 campos calificación, los que serían cal1, cal2, cal3, cal4, cal5, cal6, cal7, cal8, cal9, y cal10.
Bueno, en realidad lo que tienes es una base de datos muy mal diseñada...
Las calificaciones no se almacenan todas en un mismo registro, ni aunque pertenezcan a la misma asignatura, ni tampoco si son del mismo año ni nada que se le parezca. Cuando tienes una relación N:M entre alumnos y asignaturas, denominada "calificación", eso se maneja en una tabla independiente con un único registro por calificación, asignatura, alumno y examen. Y si, son tantos registros como notas se hayan aplicado.
La tabla así como la tienes NO SIRVE para hacer una consulta como la que quieres de una forma optimizada. tendrás que hacer un WHERE con 10 condiciones diferentes si quieres encontrar al menos un campo donde se cumpla.
Hubiese sido mejor normalziar esa tabla...