Básicamente, si la tabla de asistencias sólo aparecen los que efectivamente asistieron, y tu quieres saber quienes no asistieron en ningún momento de esas dos semanas, debes usar LEFT JOIN, y preguntar por aquellos que no tienen registros en ese período.
Para ello también te conviene obtener una tabla derivada (en el FROM), de los id de aquellos registros que corresponden al periodo.
Creo que algo así funcionaría:
Una aclaración es que no peudes obtener las fechas porque la fecha no existe desde el momento en que no asistió, y para poder obtener la fecha en la que
debería haber asistido, o la que corresponda a la cursada con falta, deberías cruzar también aquellas tablas de donde esa información puede extraerse.
Pero si lo que quieres es saber quienes no asistieron, con eso debería alcanzar.
Por otro lado, en el uso de la funcion de fecha, tal y como la pedías, en realidad estabas preguntando por aquellas asistencias anteriores a las dos últimas semanas, y no las de las dos semanas pasadas...
Es un tema de operadores...