Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como obter o nome do supervisor em vez do UserID + INNER JOIN no MYSQL


Você precisa ingressar na tabela de usuários duas vezes porque está fazendo a correspondência tanto para o nome do membro quanto para o nome do supervisor. Eu também usei LEFT JOIN porque às vezes o motivo não tem um valor, mas você ainda quer puxar os registros das outras tabelas.
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