K tabulce uživatelů se musíte připojit dvakrát, protože odpovídáte jak jménu člena, tak jménu supervizora. Také jsem použil LEFT JOIN
protože někdy důvod nemá hodnotu, ale přesto chcete vytáhnout záznamy z jiných tabulek.
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