Хммм. , , Вы, кажется, хотите, чтобы студенты, которые проходили один и тот же тест в один и тот же день более одного раза. Я думаю:
select *
from students s join
(select testID, test_date, studentID, count(*) as cnt
from studenttests st
group by testID, test_date, studentID
having count(*) >= 2
) st
using (studentid);
Это возвращает одну строку для каждой комбинации студент / тест, которая соответствует вашим критериям.