A veces necesitamos tomar del resultado de una query un alias como criterio para filtrar el resultado. Una forma que encontré fue la siguiente:
SELECT * FROM (
SELECT u.udi_id, u.udi_nombre, u.sem_codigo, m.car_id,
(SELECT COUNT(mud.udi_id) FROM matricula_unidad_didactica AS mud INNER JOIN matricula AS ma ON mud.mat_id=ma.mat_id WHERE mud.udi_id=u.udi_id AND ma.sem_codigo='II' AND ma.mat_anio_academico=2015 AND mud.mud_asistencia_porcentaje>=mud.mud_asistencia_minima AND (mud.mud_nota_final >= mud.mud_nota_evaluacion_minima AND mud.mud_nota_final < mud.mud_nota_minima) GROUP BY mud.udi_id) AS cantidad_evaluacion FROM unidad_didactica AS u INNER JOIN modulo AS m ON u.mod_id=m.mod_id INNER JOIN carrera AS c ON m.car_id=c.car_id WHERE u.sem_codigo = 'II' AND u.udi_eliminado = '0' ORDER BY u.udi_nombre ASC
) AS tabla WHERE cantidad_evaluacion>0
Esta query entre sus columnas devuelve una columna generada por una subquery, este resultado pertenece a una query principal que usa el alias en el where.
Es un tip simple pero útil en algunos casos.
Enamorado del blues, la trova y el rock. Un apasionado a tiempo completo de la tecnología, pivoteo y me adapto a cada nuevo paso que se da. Busco continuamente las mejores prácticas y metodologías para asegurar la calidad en el software y los procesos de negocio. Algunas horas las dedico a buscar conocimiento en filosofía y teología.