sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener el nombre del supervisor en lugar del ID de usuario + INNER JOIN en MYSQL

Tiene que unirse a la tabla de usuarios dos veces porque está haciendo coincidir tanto el nombre del miembro como el nombre del supervisor. También usé LEFT JOIN porque a veces el motivo no tiene un valor pero aún desea extraer los registros de las otras tablas.

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