Ik heb drie tabellen zoals weergegeven in de onderstaande afbeelding.
Note: Lead column of projectheader table stores an employee id.

Wat ik wil hebben is in staat zijn om iets op te halen zoals dat in tabel mijn doel (Lead, geeft de lead-naam van die medewerker weer)
Ik was in staat om dat te doen met behulp van de onderstaande vraag.
SELECT DISTINCT
projectdetails.ProjectDetailsID,
projectheader.ProjectID,
projectheader.ProjectName,
projectheader.Lead,
projectheader.StartDate,
projectheader.EndDate,
projectheader.Status,
projectheader.Remarks,
projectdetails.EmployeeID,
employee.Firstname,
employee.Lastname,
Lead.Leadname
FROM
projectheader,
projectdetails,
employee,
( SELECT
projectheader.ProjectID AS projid,
CONCAT(employee.Firstname,' ',employee.Lastname) AS Leadname
FROM employee, projectheader, projectdetails
WHERE projectheader.ProjectID = projectdetails.ProjectID
AND projectheader.Lead = employee.EmployeeID
) AS Lead
WHERE projectheader.ProjectID = projectdetails.ProjectID
AND projectdetails.EmployeeID = employee.EmployeeID
AND projectheader.ProjectID = Lead.projid
AND projectdetails.ProjectID = Lead.projid
And got this result:

De vraag die ik gebruikte is vrij lang en misschien niet goed geschreven, ik wil een andere manier weten over hoe ik hetzelfde resultaat kon bereiken met een betere SQL-query, hetzij door join of een subquery te gebruiken. (Ik voegde een ONDERSCHEID toe aan het begin van projectdetails.ProjectDetailsID omdat zonder dat sommige rijen gedupliceerd worden). Ik ben op zoek naar een betere zoekopdracht dan degene die ik momenteel gebruik.