J'ai 2 tables - Projets et mises à jour de statut. La table de projet a des champs pour l'identification, la priorité, et l'état (parmi d'autres) et ma table de mise à jour d'état a des champs pour ProjectID, et la date parmi d'autres. J'essaye de construire une requête qui tirera tous les projets de haute priorité qui ne sont pas terminés ou annulés et dites-moi lesquels de ceux qui n'ont pas une mise à jour de statut qui leur sont associés au cours des 14 derniers jours.SQL Left Joindre mais ne veut pas tous les enregistrements dans le tableau de gauche
J'ai ce qui suit, mais il me donne tous les projets de la table de gauche et ne filtre pas sur les projets de haute priorité dont le statut n'est pas terminé ou annulé.
TOUTE AIDE SERA TRÈS APPRÉCIÉE.
Select proj.id, proj.Priority, proj.status, proj.ProjectName, status_tmp.statusdate, status_tmp.statusdetail
FROM proj
LEFT JOIN (SELECT s1.*
FROM projectstatus AS s1
LEFT JOIN projectstatus AS s2
ON s1.statusproj = s2.statusproj AND s1.statusdate < s2.statusdate
WHERE s2.statusproj IS NULL) as status_tmp
ON (proj.id=status_tmp.statusproj)
where proj.Priority='High' AND proj.status!='Cancelled' and
proj.status!='Completed' AND
status_tmp.statusdate < DATE_SUB(CURDATE(),INTERVAL 14 DAY) OR
status_tmp.statusdate IS null
Merci beaucoup ... si près et pourtant si loin. – Phill