Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir le nom du superviseur au lieu de l'ID utilisateur + INNER JOIN dans MYSQL

Vous devez joindre la table des utilisateurs deux fois car vous la faites correspondre à la fois pour le nom du membre et le nom du superviseur. J'ai aussi utilisé LEFT JOIN car parfois la raison n'a pas de valeur mais vous voulez quand même extraire les enregistrements des autres tables.

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