Comment sélectionner les données à partir de plusieurs tables à l'aide de jointures/sous-requête correctement? (PHP-MySQL)

J'ai trois tables comme indiqué dans l'image ci-dessous.

Remarque: Plomb colonne de projectheader table stocke l'id de l'employé.

Comment sélectionner les données à partir de plusieurs tables à l'aide de jointures/sous-requête correctement? (PHP-MySQL)

Ce que je veux, c'est d'être en mesure de récupérer quelque chose comme le tableau de mon objectif(Plomb, affiche le plomb nom de l'employé)

J'ai été en mesure de le faire à l'aide de la requête ci-dessous.

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

Et a obtenu ce résultat:
Comment sélectionner les données à partir de plusieurs tables à l'aide de jointures/sous-requête correctement? (PHP-MySQL)

La requête que j'ai utilisé est assez long et peut-être pas bien écrit, je veux savoir d'une manière différente sur comment je pourrais obtenir le même résultat en utilisant une meilleure sql de la requête, soit par l'utilisation de joindre ou d'une sous-requête. (J'ai ajouté un DISTINCT sur le début de la projectdetails.ProjectDetailsID, car sans elle, certaines lignes sont dupliqués). Je suis à la recherche pour une meilleure requête de celle que j'utilise actuellement.

Ne pas parler, juste de la loi.

OriginalL'auteur Randel Ramirez | 2012-06-24