これは、このステートメントを実行する別の方法、またはより効率的にする方法の問題です。
この声明は、サイトを最も早く離れるすべてのスタッフを指名することを意図していますが、彼らのスタッフも今日サイトにいる必要があります.
SELECT
e.EmpName,
cs.SiteName
FROM
Employee e
INNER JOIN
EmployeeAssignment ea
ON
e.EmpId = ea.EmpId
INNER JOIN
CustomerSite cs
ON
ea.CustId = cs.CustId
WHERE
e.EmpId IN
(
SELECT
ea.EmpId
FROM
EmployeeAssignment ea
WHERE
ea.EndDate IN
(
SELECT
MIN(ea.EndDate)
FROM
EmployeeAssignment ea
WHERE
GETDATE() BETWEEN ea.StartDate AND ea.EndDate
GROUP BY
CustId
));
誰かがこれを書くためのより良い方法を考えている場合は、返信してください:)