U moet twee keer deelnemen aan de gebruikerstabel omdat u zowel de naam van het lid als de naam van de supervisor overeenkomt. Ik gebruikte ook LEFT JOIN
omdat de reden soms geen waarde heeft, maar u toch de records uit de andere tabellen wilt halen.
SELECT u1.userid, a.date, u1.name, d.reason, u2.name AS supervisor
FROM user u1
LEFT JOIN attendance a ON u1.userid = a.member
LEFT JOIN detail d ON u1.userid = d.userid
LEFT JOIN user u2 ON a.supervisor = u2.userid
WHERE d.attendance = 0