आपको उपयोगकर्ता तालिका में दो बार शामिल होना होगा क्योंकि आप सदस्य के नाम और पर्यवेक्षक के नाम दोनों के लिए इसका मिलान कर रहे हैं। मैंने LEFT JOIN
का भी उपयोग किया है क्योंकि कभी-कभी कारण का कोई मूल्य नहीं होता है लेकिन फिर भी आप अन्य तालिकाओं से रिकॉर्ड खींचना चाहते हैं।
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